Just looked at a recent hsfs patch (Solaris 9, but the relevant code is the 
same on
OpenSolaris - just checked), and noticed the README said to reboot after 
installing.
So of course I looked to see if there was a workaround...

# modinfo|grep hsfs
145 78178000   72d7   9   1  hsfs (filesystem for HSFS)
# modunload -i 145
can't unload the module: Device busy

Then I looked at both the Solaris 8 FCS and the OpenSolaris code:

from hsfs_vfsops.c:

int
_fini()
{
        return (EBUSY);
}

Now, that's just rude.  I mean, why can't a reference count be maintained
(by hsfs_mount(), hsfs_unmount(), and maybe one or two others) so that
modunload would be permitted whenver thereference count was zero?
Granted it might actually take a bit more than that, but I'd like to think it
still wouldn't be too hard.

The more modules are unloadable, the more patches one could be able to
install (with some extra work in either associated scripts or manually)
without having to reboot.  Some modules that would always be truly
busy (not just too lazy to provide a way to unload them) would still
require a reboot to pick up the new version; still, anything that helps
reduce the number of patches for which one can't work around a reboot
while getting the benefit of the patch is IMO an improvement.
This message posted from opensolaris.org
_______________________________________________
opensolaris-discuss mailing list
[email protected]

Reply via email to