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-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html