]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - fs/ocfs2/xattr.c
Merge branch 'devel' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux...
[linux-2.6-omap-h63xx.git] / fs / ocfs2 / xattr.c
index 70baffeb1812771620bf1a9d08f1e76d48927f68..054e2efb0b7e71f196025c777d61f2cc5954e0f9 100644 (file)
@@ -777,6 +777,11 @@ static int ocfs2_xattr_block_get(struct inode *inode,
                goto cleanup;
        }
 
+       if (xs->not_found) {
+               ret = -ENODATA;
+               goto cleanup;
+       }
+
        xb = (struct ocfs2_xattr_block *)xs->xattr_bh->b_data;
        size = le64_to_cpu(xs->here->xe_value_size);
        if (buffer) {
@@ -860,7 +865,7 @@ static int ocfs2_xattr_get(struct inode *inode,
        down_read(&oi->ip_xattr_sem);
        ret = ocfs2_xattr_ibody_get(inode, name_index, name, buffer,
                                    buffer_size, &xis);
-       if (ret == -ENODATA)
+       if (ret == -ENODATA && di->i_xattr_loc)
                ret = ocfs2_xattr_block_get(inode, name_index, name, buffer,
                                            buffer_size, &xbs);
        up_read(&oi->ip_xattr_sem);