tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: VFS Module Autoloading

On Aug 30, 2008, at 4:24 PM, Eric Haszlakiewicz wrote:

On Sat, Aug 30, 2008 at 01:34:43PM -0700, Stephen M. Rumble wrote:
Hi all,

In -current we now have kernel modules for most file systems, which
are built and installed by default. In addition, the kernel
automatically attempts to dynamically load the appropriate module if
support is not already present. This is a good and useful feature.
However, there are two (minor) problems with this: the base system
defaults to the old LKM tools (modload, modstat, etc) and the
modularised file systems aren't all well-tested.

This isn't a big deal, but it violates the principle of least
surprise, I think. If new-style modules aren't the default in terms of
support tools being built, why should the kernel default to sucking
them in, especially given that there's no explicit means of loading
them via userland (new-style modload) or telling that they're been
loaded (new-style modstat)?

It's a very minor issue, but I'm wondering whether we should make the
autoloading sysctlable and default it to off until LKMs are banished
for good and we have better tested the modules themselves.

So, what needs to be done to get the new-style modload working?  If
that is actively being worked on, I'd say that the default should be
left as-is.  Disabling it sounds like a step backwards.


The new-style modload, modunload and modstat tools all work. They're just not built by default - you need to set MKMODULAR, in which case they mostly replace the LKM versions. However, the modules themselves are built and installed and the kernel contains support for them. Consequently, -current (and what's to be 5.0) there's no way to load, unload or query these modules by default as you'll be invoking the LKM tools. Yet at the same time, the kernel will suck them in automatically for file systems.

So it's a very minor concern, but the autoloading seems counterintuitive if (for the most part) new modules are off by default. I could see this confusing users and complicating bug reports - for instance, if foofs works fine, but modular foofs is buggy and is invisibly invoked when not statically compiled and when new modules are advertised as not being the default.


Home | Main Index | Thread Index | Old Index