Message ID | 20230908112020.27090-1-lhenriques@suse.de |
---|---|
State | New |
Headers | show |
Series | [v2] ceph: remove unnecessary check for NULL in parse_longname() | expand |
On 9/8/23 19:20, Luís Henriques wrote: > Function ceph_get_inode() never returns NULL; instead it returns an > ERR_PTR() if something fails. Thus, the check for NULL in parse_longname() > is useless and can be dropped. Instead, move there the debug code that > does the error checking so that it's only executed if ceph_get_inode() is > called. > > Fixes: dd66df0053ef ("ceph: add support for encrypted snapshot names") > Reported-by: Dan Carpenter <dan.carpenter@linaro.org> > Signed-off-by: Luís Henriques <lhenriques@suse.de> > --- > Changes since v2: > As suggested by Xiubo, moved the error checking into the 'if (!dir)' > block. > > fs/ceph/crypto.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/fs/ceph/crypto.c b/fs/ceph/crypto.c > index e4d5cd56a80b..e1f31b86fd48 100644 > --- a/fs/ceph/crypto.c > +++ b/fs/ceph/crypto.c > @@ -249,11 +249,9 @@ static struct inode *parse_longname(const struct inode *parent, > if (!dir) { > /* This can happen if we're not mounting cephfs on the root */ > dir = ceph_get_inode(parent->i_sb, vino, NULL); > - if (!dir) > - dir = ERR_PTR(-ENOENT); > + if (IS_ERR(dir)) > + dout("Can't find inode %s (%s)\n", inode_number, name); > } > - if (IS_ERR(dir)) > - dout("Can't find inode %s (%s)\n", inode_number, name); > > out: > kfree(inode_number); > LGTM. Applied to the testing branch and will run the tests. Thanks Luis.
diff --git a/fs/ceph/crypto.c b/fs/ceph/crypto.c index e4d5cd56a80b..e1f31b86fd48 100644 --- a/fs/ceph/crypto.c +++ b/fs/ceph/crypto.c @@ -249,11 +249,9 @@ static struct inode *parse_longname(const struct inode *parent, if (!dir) { /* This can happen if we're not mounting cephfs on the root */ dir = ceph_get_inode(parent->i_sb, vino, NULL); - if (!dir) - dir = ERR_PTR(-ENOENT); + if (IS_ERR(dir)) + dout("Can't find inode %s (%s)\n", inode_number, name); } - if (IS_ERR(dir)) - dout("Can't find inode %s (%s)\n", inode_number, name); out: kfree(inode_number);
Function ceph_get_inode() never returns NULL; instead it returns an ERR_PTR() if something fails. Thus, the check for NULL in parse_longname() is useless and can be dropped. Instead, move there the debug code that does the error checking so that it's only executed if ceph_get_inode() is called. Fixes: dd66df0053ef ("ceph: add support for encrypted snapshot names") Reported-by: Dan Carpenter <dan.carpenter@linaro.org> Signed-off-by: Luís Henriques <lhenriques@suse.de> --- Changes since v2: As suggested by Xiubo, moved the error checking into the 'if (!dir)' block. fs/ceph/crypto.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)