Details
-
Bug
-
Resolution: Fixed
-
Major
-
Lustre 2.6.0, Lustre 2.5.1, Lustre 2.4.3
-
None
-
3
-
13208
Description
This problem has been seen in several test environments with newer linux kernel versions than the 2.6.x or 3.0.x we currently support.
For lustre clients built against the unpatched, pristine kernel sources with default .config files I don't get lustre modules autoloading at mount time. example:
# mount -t lustre -o flock,user_xattr centos2:/lustre /mnt/lustre mount.lustre: mount centos2:/lustre at /mnt/lustre failed: No such device Are the lustre modules loaded? Check /etc/modprobe.conf and /proc/filesystems
If I explicitly preload lustre modules with a modprobe command like "modprobe lustre" then the mount works fine.
I got the following commentary in email from Andreas:
This is a problem known to me. If the obdclass module is loaded, then it
will register the "lustre" filesystem type, so it will appear in
/proc/filesystems and mount will not modprobe the "lustre" filesystem
module.
This has been true since Lustre 1.6 or so (when "mountconf" was first
added).
Two options exist:
- modify the mount.lustre binary to always modprobe the "lustre" module if
it isn't already loaded - change the "lustre" filesystem type registration to be in the "lustre"
module (as most other filesystems do). That has the problem that the
servers do not need the "lustre.ko" module loaded, since that is really
the client VFS interface. It would help if there was a second filesystem
type "lustre_srv" or similar, that could be used to register server
mountpoints, and possibly simplify the mount internals (which are
convoluted because they have to do completely different things for client
and server mounts).
Obviously, #1 is easier, but #2 would simplify the coe in the long term.