[PATCH review 9/9] mnt: Honor MNT_LOCKED when detaching mounts
Eric W. Biederman
ebiederm at xmission.com
Sat Jan 3 02:27:06 UTC 2015
"Eric W. Biederman" <ebiederm at xmission.com> writes:
> Modify umount(MNT_DETACH) to keep mounts in the hash table that are
> locked to their parent mounts, when the parent is lazily unmounted.
> In doing this invert the reference count so that the parent holds a
> reference to the children instead of the children holding a reference
> to the parent.
> Then in mntput_no_expire detach the children and in cleanup_mnt mntput
> the children and dput the dentry they were mounted on.
> In __detach_mounts if there are any mounts that have been unmounted
> but still are on the list of mounts of a mountpoint, detach those
> mounts and schedule them to be mntput and their reference to the dentry
> to be put when it becomes safe to sleep.
Arr. This isn't quite enough. It does not properly handle mount
propagation MNT_DETACH and MNT_LOCKED.
I am not even certain MNT_DETACH needs to be involved. Back to banging
my head against this one. Sigh.
More information about the Containers