From: Mike Waychison <Michael.Waychison@Sun.COM>
To: "Björn Steinbrink" <B.Steinbrink@gmx.de>
Cc: viro@parcelfarce.linux.theplanet.co.uk, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] Mounting on floating mounts is possible
Date: Mon, 08 Nov 2004 11:20:27 -0500 [thread overview]
Message-ID: <418F9CCB.1000202@sun.com> (raw)
In-Reply-To: <20041106060455.0100e3ec@doener>
[-- Attachment #1: Type: text/plain, Size: 1914 bytes --]
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
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?
- --
Mike Waychison
Sun Microsystems, Inc.
1 (650) 352-5299 voice
1 (416) 202-8336 voice
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NOTICE: The opinions expressed in this email are held by me,
and may not represent the views of Sun Microsystems, Inc.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFBj5zKdQs4kOxk3/MRAv7FAKCdtASSH1sbq8KX1Yo0IrQZJ25q9gCfUp52
Uy0LxZvoqfJ9bh5jWGv7YM4=
=pce6
-----END PGP SIGNATURE-----
[-- Attachment #2: clear_mnt_namespace.diff --]
[-- Type: text/x-patch, Size: 616 bytes --]
---
namespace.c | 1 +
1 files changed, 1 insertion(+)
Index: linux-2.6.9-quilt/fs/namespace.c
===================================================================
--- linux-2.6.9-quilt.orig/fs/namespace.c 2004-11-08 11:18:39.980358880 -0500
+++ linux-2.6.9-quilt/fs/namespace.c 2004-11-08 11:19:24.702560072 -0500
@@ -352,6 +352,7 @@ void umount_tree(struct vfsmount *mnt)
mnt = list_entry(kill.next, struct vfsmount, mnt_list);
list_del_init(&mnt->mnt_list);
list_del_init(&mnt->mnt_fslink);
+ mnt->mnt_namespace = NULL;
if (mnt->mnt_parent == mnt) {
spin_unlock(&vfsmount_lock);
} else {
next prev parent reply other threads:[~2004-11-08 17:07 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-11-06 5:04 [PATCH] Mounting on floating mounts is possible Björn Steinbrink
2004-11-08 16:20 ` Mike Waychison [this message]
2004-11-08 17:20 ` Björn Steinbrink
2004-11-08 17:53 ` Mike Waychison
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=418F9CCB.1000202@sun.com \
--to=michael.waychison@sun.com \
--cc=B.Steinbrink@gmx.de \
--cc=linux-kernel@vger.kernel.org \
--cc=viro@parcelfarce.linux.theplanet.co.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox