Details
-
Improvement
-
Resolution: Fixed
-
Minor
-
None
-
None
-
9223372036854775807
Description
The Lustre client utilities (mount/umount) have an optional dependency on libmount, providing some minor improvements. It's however easy to miss when building it, and the rpm/deb package builds don't depend on it either. libmount was introduced in util-linux 2.18 in 2010, and with a stable API and ABI as of util-linux 2.19 in 2011. CentOS 6 which was AFAICS the last long time support distro with an older version of util-linux was EOL'ed in 2020, and Lustre itself doesn't support such old distros anymore either. Avoiding a dependency on libmount doesn't help much, since the "standard" mount/umount commands also depend on it, so if libmount is missing the OS is likely more or less completely broken.
So could usage of libmount be made unconditional (or at least the default)? That would entail for the rpm/deb building at least:
- ./lustre.spec.in: Add BuildRequires on libmount-devel and Require on libmount for the utils package
- ./debian/{control,control.main}: Add Build-Depends on libmount-dev and for lustre-{client,server}-utils add Depends on libmount1.
And possibly removing separate "#ifdef HAVE_LIBMOUNT #else ..." code and modifying configure logic slightly, if one wants to entirely remove the possibility of compiling without libmount.