acct: move mnt_pin() upwards.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Родитель
17c0a5aaff
Коммит
215748e67d
|
@ -206,7 +206,6 @@ static void acct_kill(struct bsd_acct_struct *acct,
|
||||||
ns->bacct = new;
|
ns->bacct = new;
|
||||||
if (new) {
|
if (new) {
|
||||||
struct vfsmount *m = new->file->f_path.mnt;
|
struct vfsmount *m = new->file->f_path.mnt;
|
||||||
mnt_pin(m);
|
|
||||||
spin_lock(&acct_lock);
|
spin_lock(&acct_lock);
|
||||||
hlist_add_head(&new->s_list, &m->mnt_sb->s_pins);
|
hlist_add_head(&new->s_list, &m->mnt_sb->s_pins);
|
||||||
hlist_add_head(&new->m_list, &real_mount(m)->mnt_pins);
|
hlist_add_head(&new->m_list, &real_mount(m)->mnt_pins);
|
||||||
|
@ -256,6 +255,7 @@ static int acct_on(struct filename *pathname)
|
||||||
acct->ns = ns;
|
acct->ns = ns;
|
||||||
mutex_init(&acct->lock);
|
mutex_init(&acct->lock);
|
||||||
mnt = file->f_path.mnt;
|
mnt = file->f_path.mnt;
|
||||||
|
mnt_pin(mnt);
|
||||||
|
|
||||||
old = acct_get(ns);
|
old = acct_get(ns);
|
||||||
mutex_lock_nested(&acct->lock, 1); /* nobody has seen it yet */
|
mutex_lock_nested(&acct->lock, 1); /* nobody has seen it yet */
|
||||||
|
@ -264,7 +264,6 @@ static int acct_on(struct filename *pathname)
|
||||||
} else {
|
} else {
|
||||||
ns->bacct = acct;
|
ns->bacct = acct;
|
||||||
spin_lock(&acct_lock);
|
spin_lock(&acct_lock);
|
||||||
mnt_pin(mnt);
|
|
||||||
hlist_add_head(&acct->s_list, &mnt->mnt_sb->s_pins);
|
hlist_add_head(&acct->s_list, &mnt->mnt_sb->s_pins);
|
||||||
hlist_add_head(&acct->m_list, &real_mount(mnt)->mnt_pins);
|
hlist_add_head(&acct->m_list, &real_mount(mnt)->mnt_pins);
|
||||||
spin_unlock(&acct_lock);
|
spin_unlock(&acct_lock);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче