"Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> 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. Eric -- 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