diff options
Diffstat (limited to 'fs/namespace.c')
-rw-r--r-- | fs/namespace.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/namespace.c b/fs/namespace.c index 6464ea4acba9..d28d30b13043 100644 --- a/fs/namespace.c +++ b/fs/namespace.c | |||
@@ -1463,7 +1463,6 @@ static void umount_tree(struct mount *mnt, enum umount_tree_flags how) | |||
1463 | p->mnt.mnt_flags |= MNT_SYNC_UMOUNT; | 1463 | p->mnt.mnt_flags |= MNT_SYNC_UMOUNT; |
1464 | 1464 | ||
1465 | disconnect = disconnect_mount(p, how); | 1465 | disconnect = disconnect_mount(p, how); |
1466 | |||
1467 | if (mnt_has_parent(p)) { | 1466 | if (mnt_has_parent(p)) { |
1468 | mnt_add_count(p->mnt_parent, -1); | 1467 | mnt_add_count(p->mnt_parent, -1); |
1469 | if (!disconnect) { | 1468 | if (!disconnect) { |
@@ -1471,10 +1470,11 @@ static void umount_tree(struct mount *mnt, enum umount_tree_flags how) | |||
1471 | list_add_tail(&p->mnt_child, &p->mnt_parent->mnt_mounts); | 1470 | list_add_tail(&p->mnt_child, &p->mnt_parent->mnt_mounts); |
1472 | } else { | 1471 | } else { |
1473 | umount_mnt(p); | 1472 | umount_mnt(p); |
1474 | hlist_add_head(&p->mnt_umount, &unmounted); | ||
1475 | } | 1473 | } |
1476 | } | 1474 | } |
1477 | change_mnt_propagation(p, MS_PRIVATE); | 1475 | change_mnt_propagation(p, MS_PRIVATE); |
1476 | if (disconnect) | ||
1477 | hlist_add_head(&p->mnt_umount, &unmounted); | ||
1478 | } | 1478 | } |
1479 | } | 1479 | } |
1480 | 1480 | ||