ceph: d_obtain_alias() returns ERR_PTR()
authorDan Carpenter <error27@gmail.com>
Wed, 21 Apr 2010 10:31:13 +0000 (12:31 +0200)
committerSage Weil <sage@newdream.net>
Mon, 17 May 2010 22:25:22 +0000 (15:25 -0700)
d_obtain_alias() doesn't return NULL, it returns an ERR_PTR().

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Sage Weil <sage@newdream.net>
fs/ceph/export.c

index 15683905a7b68bd4cb87105ce2506d6bc51f6493..17447644d6754b5ffd75d532a997353a14c0df9a 100644 (file)
@@ -93,11 +93,11 @@ static struct dentry *__fh_to_dentry(struct super_block *sb,
                return ERR_PTR(-ESTALE);
 
        dentry = d_obtain_alias(inode);
-       if (!dentry) {
+       if (IS_ERR(dentry)) {
                pr_err("fh_to_dentry %llx -- inode %p but ENOMEM\n",
                       fh->ino, inode);
                iput(inode);
-               return ERR_PTR(-ENOMEM);
+               return dentry;
        }
        err = ceph_init_dentry(dentry);
 
@@ -149,11 +149,11 @@ static struct dentry *__cfh_to_dentry(struct super_block *sb,
        }
 
        dentry = d_obtain_alias(inode);
-       if (!dentry) {
+       if (IS_ERR(dentry)) {
                pr_err("cfh_to_dentry %llx -- inode %p but ENOMEM\n",
                       cfh->ino, inode);
                iput(inode);
-               return ERR_PTR(-ENOMEM);
+               return dentry;
        }
        err = ceph_init_dentry(dentry);
        if (err < 0) {
@@ -202,11 +202,11 @@ static struct dentry *ceph_fh_to_parent(struct super_block *sb,
                return ERR_PTR(-ESTALE);
 
        dentry = d_obtain_alias(inode);
-       if (!dentry) {
+       if (IS_ERR(dentry)) {
                pr_err("fh_to_parent %llx -- inode %p but ENOMEM\n",
                       cfh->ino, inode);
                iput(inode);
-               return ERR_PTR(-ENOMEM);
+               return dentry;
        }
        err = ceph_init_dentry(dentry);
        if (err < 0) {