[PATCH] umount_tree() will unhash everything itself

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Al Viro 2008-03-24 00:16:03 -04:00
parent 8c3ee42e80
commit 4e1b36fb48

View file

@ -212,8 +212,7 @@ int propagate_mnt(struct vfsmount *dest_mnt, struct dentry *dest_dentry,
out: out:
spin_lock(&vfsmount_lock); spin_lock(&vfsmount_lock);
while (!list_empty(&tmp_list)) { while (!list_empty(&tmp_list)) {
child = list_entry(tmp_list.next, struct vfsmount, mnt_hash); child = list_first_entry(&tmp_list, struct vfsmount, mnt_hash);
list_del_init(&child->mnt_hash);
umount_tree(child, 0, &umount_list); umount_tree(child, 0, &umount_list);
} }
spin_unlock(&vfsmount_lock); spin_unlock(&vfsmount_lock);