diff --git a/[refs] b/[refs] index 97a3c5a4ef6d..1058d632ae55 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: bc4fdca85734d12cd2c7a25c52323ef6e6e5adef +refs/heads/master: 8c696737aa61316a252c4514d09dd163f1464d33 diff --git a/trunk/fs/ceph/inode.c b/trunk/fs/ceph/inode.c index 8f9b9fe8ef9f..3582e79f46e0 100644 --- a/trunk/fs/ceph/inode.c +++ b/trunk/fs/ceph/inode.c @@ -1199,8 +1199,10 @@ int ceph_readdir_prepopulate(struct ceph_mds_request *req, goto out; } err = ceph_init_dentry(dn); - if (err < 0) + if (err < 0) { + dput(dn); goto out; + } } else if (dn->d_inode && (ceph_ino(dn->d_inode) != vino.ino || ceph_snap(dn->d_inode) != vino.snap)) {