LUSTRE_RMMOD(8)
π LUSTRE_RMMOD β ok bestie, time to say bye to those kernel modules π
so likeβ¦ you know how your kernel is just holding onto Lustre modules and won't let go? yeah. this is the lustre_rmmod(8) manual page from the Lustre Configuration Utilities, and it's literally the "we're breaking up" text for kernel modules. periodt. β¨
πΈ NAME πΈ
lustre_rmmod β remove Lustre modules from the kernel π¦
π SYNOPSIS π
lustre_rmmod [-d|--debug-kernel] [-h|--help] [-w|--wait SECONDS] [MODULE
...]
π DESCRIPTION π
okay so here's the tea β β lustre_rmmod calls the rmmod(8) utility and unloads all of the Lustre kernel modules, and it does it in the correct order so the dependency drama between them gets handled properly. no tangled mess, no "you can't unload me until they leave first" energy. iykyk. β¨
this is useful slash necessary when you're upgrading the kernel modules, because you need to make sure the newly-installed modules are the ones being used for mounting the filesystem. otherwise β if the system wasn't rebooted, or the modules weren't unloaded before remounting β it's possible that the old modules are still out there doing the most. π not the vibe.
if one or more MODULE arguments got passed on the command line, then all dependencies of the specified module(s) as well as the module itself get unloaded. and if no module is specified at all? then every single Lustre kernel module gets unloaded. all of them. the whole friend group. π
β¨ OPTIONS β¨
-d,--debug-kernelβ dumps the Lustre kernel debug log usinglctl-debug_kernel(8)before unloading the last module. why? so you can capture full debug traces in case things go sideways during cleanup, or when you're out here tracing memory leaks. π₯ receipts, basically.-h,--helpβ prints a usage message and exits. the classic "what does this even do" button π«Ά-w,--waitSECONDS β waits up to SECONDS seconds, total, for OBD devices to be cleaned up (according tolctl-device_list(8)) before trying to unload the modules. this gives asynchronous device cleanup actions time to finish afterumount(8)returns, so they're not still mid-glow-up while you're trying to leave π§
if SECONDS is 0, no devices are configured, or lctl returns an error, then there is no further wait before the module unload. okay so like, no waiting, we go straight to the exit.
and listen β an empty device list does not itself guarantee that a module's reference count has reached zero, since some modules may briefly retain a reference after the last device disappears. π sneaky.
but the cute part: if unloading a module fails, the remainder of the SECONDS budget gets used to poll the module's reference count and retry the unload once it reaches zero, instead of just failing immediately. it's giving "persistent bestie who doesn't give up on you." π₯Ή
π AVAILABILITY π
lustre_rmmod is part of the lustre(7) filesystem package since release 1.6.0. iconic behavior since day one, no cap. β
π SEE ALSO π
lctl(8), lctl-debug_kernel(8), lctl-device_list(8), rmmod(8), umount(8)
and that's the whole page, bestie!! π this was the Lustre manual, dated 2026-07-07, and it's giving LUSTRE_RMMOD(8) main character energy from start to finish. go unload those modules responsibly, mwah πβ¨
π¦ where this page comes from
- ubuntu stonking: lustre-client-utils 2.17.58+dfsg-0ubuntu2 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms