diff options
| -rw-r--r-- | fs/namespace.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/fs/namespace.c b/fs/namespace.c index 7829eab0b706..2b8aa15fd6df 100644 --- a/fs/namespace.c +++ b/fs/namespace.c | |||
| @@ -1565,11 +1565,8 @@ void __detach_mounts(struct dentry *dentry) | |||
| 1565 | while (!hlist_empty(&mp->m_list)) { | 1565 | while (!hlist_empty(&mp->m_list)) { |
| 1566 | mnt = hlist_entry(mp->m_list.first, struct mount, mnt_mp_list); | 1566 | mnt = hlist_entry(mp->m_list.first, struct mount, mnt_mp_list); |
| 1567 | if (mnt->mnt.mnt_flags & MNT_UMOUNT) { | 1567 | if (mnt->mnt.mnt_flags & MNT_UMOUNT) { |
| 1568 | struct mount *p, *tmp; | 1568 | hlist_add_head(&mnt->mnt_umount.s_list, &unmounted); |
| 1569 | list_for_each_entry_safe(p, tmp, &mnt->mnt_mounts, mnt_child) { | 1569 | umount_mnt(mnt); |
| 1570 | hlist_add_head(&p->mnt_umount.s_list, &unmounted); | ||
| 1571 | umount_mnt(p); | ||
| 1572 | } | ||
| 1573 | } | 1570 | } |
| 1574 | else umount_tree(mnt, UMOUNT_CONNECTED); | 1571 | else umount_tree(mnt, UMOUNT_CONNECTED); |
| 1575 | } | 1572 | } |
