ceph: fix leak of dentry in ceph_init_dentry() error path
If we fail to allocate a ceph_dentry_info, don't leak the dn reference. Signed-off-by: Sage Weil <sage@newdream.net>
This commit is contained in:
Родитель
bc4fdca857
Коммит
8c696737aa
|
@ -1199,8 +1199,10 @@ retry_lookup:
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
err = ceph_init_dentry(dn);
|
err = ceph_init_dentry(dn);
|
||||||
if (err < 0)
|
if (err < 0) {
|
||||||
|
dput(dn);
|
||||||
goto out;
|
goto out;
|
||||||
|
}
|
||||||
} else if (dn->d_inode &&
|
} else if (dn->d_inode &&
|
||||||
(ceph_ino(dn->d_inode) != vino.ino ||
|
(ceph_ino(dn->d_inode) != vino.ino ||
|
||||||
ceph_snap(dn->d_inode) != vino.snap)) {
|
ceph_snap(dn->d_inode) != vino.snap)) {
|
||||||
|
|
Загрузка…
Ссылка в новой задаче