diff --git a/fs/ceph/inode.c b/fs/ceph/inode.c index 3e6b52cb5ee85e58d58fc98dacc3c9e11242759f..e7cca414da03bcbd7549889a5ecb00d05ee11901 100644 --- a/fs/ceph/inode.c +++ b/fs/ceph/inode.c @@ -1230,11 +1230,11 @@ int ceph_readdir_prepopulate(struct ceph_mds_request *req, in = dn->d_inode; } else { in = ceph_get_inode(parent->d_sb, vino); - if (in == NULL) { + if (IS_ERR(in)) { dout("new_inode badness\n"); d_delete(dn); dput(dn); - err = -ENOMEM; + err = PTR_ERR(in); goto out; } dn = splice_dentry(dn, in, NULL);