ocfs2: Fix xattr check in ocfs2_get_xattr_nolock()
authorJan Kara <jack@suse.cz>
Wed, 10 Dec 2014 23:41:40 +0000 (15:41 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 11 Dec 2014 01:41:03 +0000 (17:41 -0800)
ocfs2_get_xattr_nolock() checks whether inode has any extended attributes
(OCFS2_HAS_XATTR_FL).  If not, it just sets 'ret' to -ENODATA but
continues with checking inline and external attributes anyway (which is
pointless although it does not harm).  Just return immediately when we
know there are no extended attributes in the inode.

Coverity id: 1226906.

Signed-off-by: Jan Kara <jack@suse.cz>
Cc: Mark Fasheh <mfasheh@suse.com>
Cc: Joel Becker <jlbec@evilplan.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/ocfs2/xattr.c

index 016f01df382514fd6dc93ce1e7386c147909c54d..662f8dee149f992d1bbed4f5d38539f549103d1f 100644 (file)
@@ -1284,7 +1284,7 @@ int ocfs2_xattr_get_nolock(struct inode *inode,
                return -EOPNOTSUPP;
 
        if (!(oi->ip_dyn_features & OCFS2_HAS_XATTR_FL))
-               ret = -ENODATA;
+               return -ENODATA;
 
        xis.inode_bh = xbs.inode_bh = di_bh;
        di = (struct ocfs2_dinode *)di_bh->b_data;