2010-08-25 07:12:01

by Dan Carpenter

[permalink] [raw]
Subject: [patch] ceph: ceph_get_inode() returns an ERR_PTR

ceph_get_inode() returns an ERR_PTR and it doesn't return a NULL.

Signed-off-by: Dan Carpenter <[email protected]>

diff --git a/fs/ceph/inode.c b/fs/ceph/inode.c
index 5d893d3..1e623ec 100644
--- a/fs/ceph/inode.c
+++ b/fs/ceph/inode.c
@@ -1229,11 +1229,11 @@ retry_lookup:
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);


2010-08-25 19:00:27

by Sage Weil

[permalink] [raw]
Subject: Re: [patch] ceph: ceph_get_inode() returns an ERR_PTR

Thanks, queueing this up!

sage


On Wed, 25 Aug 2010, Dan Carpenter wrote:

> ceph_get_inode() returns an ERR_PTR and it doesn't return a NULL.
>
> Signed-off-by: Dan Carpenter <[email protected]>
>
> diff --git a/fs/ceph/inode.c b/fs/ceph/inode.c
> index 5d893d3..1e623ec 100644
> --- a/fs/ceph/inode.c
> +++ b/fs/ceph/inode.c
> @@ -1229,11 +1229,11 @@ retry_lookup:
> 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);
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
>