ceph: fix bad pointer dereference in ceph_fill_trace
We dereference *in a few lines down, but only set it on rename. It is apparently pretty rare for this to trigger, but I have been hitting it with a clustered MDSs. Signed-off-by: Sage Weil <sage@newdream.net>
This commit is contained in:
parent
df9f86faf3
commit
d8b16b3d1c
1 changed files with 2 additions and 1 deletions
|
@ -1055,7 +1055,8 @@ int ceph_fill_trace(struct super_block *sb, struct ceph_mds_request *req,
|
|||
ininfo = rinfo->targeti.in;
|
||||
vino.ino = le64_to_cpu(ininfo->ino);
|
||||
vino.snap = le64_to_cpu(ininfo->snapid);
|
||||
if (!dn->d_inode) {
|
||||
in = dn->d_inode;
|
||||
if (!in) {
|
||||
in = ceph_get_inode(sb, vino);
|
||||
if (IS_ERR(in)) {
|
||||
pr_err("fill_trace bad get_inode "
|
||||
|
|
Loading…
Reference in a new issue