Messages in this thread | | | Date | Mon, 8 Nov 2004 18:20:04 +0100 | From | Björn Steinbrink <> | Subject | Re: [PATCH] Mounting on floating mounts is possible |
| |
On Mon, 08 Nov 2004 11:20:27 -0500 Mike Waychison <Michael.Waychison@Sun.COM> wrote: > Björn Steinbrink wrote: > > Hi, > > > > this[1] patch changed check_mnt() so that mounting on a floating > > mount(i.e. one that was unmounted using MNT_DETACH and was still in > > use) is possible, since we no longer check if the mountpoint is > > actually reachable. The problem is that we may lose any reference to > > the floating mount, but the mount on it will keep it alive, thus it > > will never go away. The following patch removes the reference from > > the mount to its namespace when it is unmounted lazily, so that > > check_mnt protects from such mounts. > > > > Please CC me as I'm not subscribed to the list. > > > > Bjoern > > > > [1] http://lwn.net/Articles/91946/ > > > > diff -uNr --minimal a/fs/namespace.c b/fs/namespace.c > > --- a/fs/namespace.c 2004-10-31 00:41:02.000000000 +0200 > > +++ b/fs/namespace.c 2004-11-06 04:38:37.299013810 +0100 > > @@ -358,6 +358,7 @@ > > } else { > > struct nameidata old_nd; > > detach_mnt(mnt, &old_nd); > > + mnt->mnt_namespace = NULL; > > spin_unlock(&vfsmount_lock); > > path_release(&old_nd); > > } > > - > > I don't think this patch clears mnt_namespace for the root of the > umounted tree. How about this? >
The root mount of the umounted tree is not detached yet, i.e. it has mnt->mnt_parent != mnt and is detached in the else-branch, so that is handled fine (at least my tests said so ;). Only detached mounts and the namespace's root mount (that's the rootfs mount IIRC) have mnt->mnt_parent==mnt. And we have two cases here: a) already detached mount, this cannot happen. The only possibility to get a detached mount into umount is the same we currently have with mount, some process kept a reference and used a relative path. But with the patch we would already bail out in check_mnt earlier in this case. b) root mount, is not detached so all mounts are still reachable and can be unmounted as usual.
Please keep CC'ing me.
Bjoern - 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/
| |