Messages in this thread |  | | From | Daniel Phillips <> | Subject | Re: Question about pseudo filesystems | Date | Sun, 8 Sep 2002 18:00:12 +0200 |
| |
On Sunday 08 September 2002 04:21, Jamie Lokier wrote: > Alexander Viro wrote: > > It is neither safe nor needed. Please, look at the previous posting again - > > neither variant calls mntput() in ->release(). > > > > Now, __fput() _does_ call mntput() - always. And yes, if that happens to > > be the final reference - it's OK. > > Thanks, that's really nice. > > I'd assumed `kern_mount' was similar to mounting a normal filesystem, > but in a non-existent namespace. Traditionally in unix you can't > unmount a filesystem when its in use, and mounts don't disappear when > the last file being used on them disappears. > > But you've rather cutely arranged that these kinds of mount _do_ > disappear when the last file being used on them disappears. Clever, if > a bit disturbing.
And it's not a good way to drive module unloading. It is rmmod that should cause a module to be unloaded, not close. The final close *allows* the module to be unloaded, it does not *cause* it to be. So to get the expected behaviour, you have to lather on some other fanciful construction to garbage collect modules ready to be unloaded, or to let rmmod inquire the state of the module in the process of attempting to unload it, and not trigger the nasty races we've discussed. Enter fancy locking regime that 3 people in the world actually understand.
-- Daniel - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |