Re: Question about pseudo filesystems

From: Daniel Phillips (phillips@arcor.de)
Date: Sun Sep 08 2002 - 11:00:12 EST


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/



This archive was generated by hypermail 2b29 : Sun Sep 15 2002 - 22:00:17 EST