kld regression

Andriy Gapon avg at icyb.net.ua
Thu Jan 31 04:39:56 PST 2008

on 31/01/2008 13:07 John Baldwin said the following:
> On Wednesday 30 January 2008 12:39:14 pm Andriy Gapon wrote:
>> The problem is as follows:
>> 1. put udf_load="YES" in loader.conf
>> 2. you can mount and unmount udf filesystems
>> 3. you can kldunload udf if no udf filesystems are mounted
>> 4. now mount udf fs while udf.ko is unloaded
>> 5. udf is auto loaded and fs is mounted
>> 6. unmount fs
>> 7. try to kldunload udf
>> kldunload: can't unload file: Device busy
>> kernel message: kldunload: attempt to unload file that was loaded by the
>> kernel
>> Yeah, it was loaded by kernel indeed, but WTF - what is the difference
>> from manual/loader.conf loading and why I can not manage my modules as I
>> wish?
> Hmm, the relevant code (vfs_init.c) hasn't changed in 6.x since 6.0.  There 
> were some changes in 7.0, but this should work in both branches.  What is the 
> previous release that this worked on?

Maybe I was wrong when I called this regression, but this was very
surprising behavior for me. And in 5.X I did a lot of udf
debugging/experimenting and never encountered such a problem. Maybe I
always did kldload before mount, I can't tell now.
Anyway, this seems like an annoyance at the very least, pinning a kernel
module without any important reasons.

Andriy Gapon

More information about the freebsd-stable mailing list