ceph: remove unnecessary check for NULL in parse_longname()
authorLuís Henriques <lhenriques@suse.de>
Fri, 8 Sep 2023 11:20:20 +0000 (12:20 +0100)
committerIlya Dryomov <idryomov@gmail.com>
Mon, 18 Sep 2023 10:04:50 +0000 (12:04 +0200)
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>
Reviewed-by: Xiubo Li <xiubli@redhat.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
fs/ceph/crypto.c

index e4d5cd5..e1f31b8 100644 (file)
@@ -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);