mirror of
https://github.com/torvalds/linux.git
synced 2026-06-02 19:43:40 +02:00
attach_recursive_mnt(): remove from expiry list on move
... rather than doing that in do_move_mount(). That's the main obstacle to moving the protection of ->mnt_expire from namespace_sem to mount_lock (spinlock-only), which would simplify several failure exits. Reviewed-by: Christian Brauner <brauner@kernel.org> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
ee1ee33ccc
commit
a8c764e1a5
|
|
@ -2684,6 +2684,9 @@ static int attach_recursive_mnt(struct mount *source_mnt,
|
|||
if (moving) {
|
||||
umount_mnt(source_mnt);
|
||||
mnt_notify_add(source_mnt);
|
||||
/* if the mount is moved, it should no longer be expired
|
||||
* automatically */
|
||||
list_del_init(&source_mnt->mnt_expire);
|
||||
} else {
|
||||
if (source_mnt->mnt_ns) {
|
||||
LIST_HEAD(head);
|
||||
|
|
@ -3674,12 +3677,6 @@ static int do_move_mount(struct path *old_path,
|
|||
goto out;
|
||||
|
||||
err = attach_recursive_mnt(old, p, mp);
|
||||
if (err)
|
||||
goto out;
|
||||
|
||||
/* if the mount is moved, it should no longer be expire
|
||||
* automatically */
|
||||
list_del_init(&old->mnt_expire);
|
||||
out:
|
||||
unlock_mount(mp);
|
||||
if (!err) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user