]> git.baikalelectronics.ru Git - kernel.git/commit
mnt: Delay removal from the mount hash.
authorEric W. Biederman <ebiederm@xmission.com>
Tue, 23 Dec 2014 01:12:07 +0000 (19:12 -0600)
committerEric W. Biederman <ebiederm@xmission.com>
Fri, 3 Apr 2015 01:34:19 +0000 (20:34 -0500)
commit9201c17dcb757da05c135a20d533cb326260397b
tree730e8410fbeb2ec8190b9b2352abf80ffd56f0ce
parentf98a9f78b03e01109826d3ec3566de56d3feaf4e
mnt: Delay removal from the mount hash.

- Modify __lookup_mnt_hash_last to ignore mounts that have MNT_UMOUNTED set.
- Don't remove mounts from the mount hash table in propogate_umount
- Don't remove mounts from the mount hash table in umount_tree before
  the entire list of mounts to be umounted is selected.
- Remove mounts from the mount hash table as the last thing that
  happens in the case where a mount has a parent in umount_tree.
  Mounts without parents are not hashed (by definition).

This paves the way for delaying removal from the mount hash table even
farther and fixing the MNT_LOCKED vs MNT_DETACH issue.

Cc: stable@vger.kernel.org
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
fs/namespace.c
fs/pnode.c