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)
commit411a938b5abc9cb126c41cccf5975ae464fe0f3e
tree730e8410fbeb2ec8190b9b2352abf80ffd56f0ce
parent590ce4bcbfb4e0462a720a4ad901e84416080bba
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