Re: [PATCH] umount.2: Correct the description of MNT_DETACH

From: Andy Lutomirski
Date: Mon Sep 29 2014 - 21:28:26 EST


On Mon, Sep 29, 2014 at 6:04 PM, Eric W. Biederman
<ebiederm@xxxxxxxxxxxx> wrote:
>
> I recently realized that I had been reasoning improperly about what
> umount(MNT_DETACH) did based on an insufficient description in
> the umount.2 man page, that matched my intuition but not the
> implementation.
>
> When there are no submounts MNT_DETACH is essentially harmless to
> applications. Where there are submounts MNT_DETACH changes what
> is visible to applications using the detach directories.
>
> Signed-off-by: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
> ---
> man2/umount.2 | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/man2/umount.2 b/man2/umount.2
> index 5ff88152c738..aea39d8306fe 100644
> --- a/man2/umount.2
> +++ b/man2/umount.2
> @@ -66,9 +66,10 @@ This can cause data loss.
> (Only for NFS mounts.)
> .TP
> .BR MNT_DETACH " (since Linux 2.4.11)"
> -Perform a lazy unmount: make the mount point unavailable for
> -new accesses, and actually perform the unmount when the mount point
> -ceases to be busy.
> +Perform a lazy unmount: make the mount point unavailable for new
> +accesses, immediately disconnect the filesystem and all filesystems
> +mounted below it from each other and from the mount table, and
> +actually perform the unmount when the mount point ceases to be busy.

Want to add something like:

MNT_DETACH on a shared mount will propagate unmount events to its peer
group. That means that recursively bind mounting a shared mount and
then unmounting that recursive bind mount will unmount all submounts
of the original mount. This behavior can be avoided by remounting a
directory with MS_REC | MS_PRIVATE before unmounting it.

--Andy

> .TP
> .BR MNT_EXPIRE " (since Linux 2.6.8)"
> Mark the mount point as expired.
> --
> 1.9.1
>



--
Andy Lutomirski
AMA Capital Management, LLC
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/