Return correct error on query of xattr on file with empty xattrs
authorSteve French <smfrench@gmail.com>
Wed, 26 Mar 2014 00:46:36 +0000 (19:46 -0500)
committerSteve French <smfrench@gmail.com>
Wed, 16 Apr 2014 18:51:46 +0000 (13:51 -0500)
xfstest 020 detected a problem with cifs xattr handling.  When a file
had an empty xattr list, we returned success (with an empty xattr value)
on query of particular xattrs rather than returning ENODATA.
This patch fixes it so that query of an xattr returns ENODATA when the
xattr list is empty for the file.

Signed-off-by: Steve French <smfrench@gmail.com>
Reviewed-by: Jeff Layton <jlayton@redhat.com>
fs/cifs/cifssmb.c

index f3264bd7a83d9427a158130a7d4a842443bd8b53..6ce4e0954b986ac1dd40bfb6dd9a8a851bef68d1 100644 (file)
@@ -6197,6 +6197,9 @@ QAllEAsRetry:
        cifs_dbg(FYI, "ea length %d\n", list_len);
        if (list_len <= 8) {
                cifs_dbg(FYI, "empty EA list returned from server\n");
+               /* didn't find the named attribute */
+               if (ea_name)
+                       rc = -ENODATA;
                goto QAllEAsOut;
        }