Whamcloud - gitweb
LU-11108 mdt: propagate errors in mdt_getxattr() 43/32743/2
authorJohn L. Hammond <jhammond@whamcloud.com>
Fri, 29 Jun 2018 21:11:05 +0000 (16:11 -0500)
committerOleg Drokin <green@whamcloud.com>
Tue, 24 Jul 2018 16:01:03 +0000 (16:01 +0000)
In mdt_getxattr(), if mo_xattr_get() fails then return that error
value rather than letting mdt_nodemap_map_acl() mangle it.

Signed-off-by: John L. Hammond <jhammond@whamcloud.com>
Change-Id: I967bcc5ad6edf30b43f373e85f22fc922647c435
Reviewed-on: https://review.whamcloud.com/32743
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andrew Perepechko <c17827@cray.com>
Reviewed-by: Emoly Liu <emoly@whamcloud.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/mdt/mdt_xattr.c

index 3f02599..481883c 100644 (file)
@@ -262,6 +262,9 @@ int mdt_getxattr(struct mdt_thread_info *info)
                const char *xattr_name = req_capsule_client_get(info->mti_pill,
                                                                &RMF_NAME);
                rc = mo_xattr_get(info->mti_env, next, buf, xattr_name);
+               if (rc < 0)
+                       GOTO(out, rc);
+
                rc = mdt_nodemap_map_acl(info, buf->lb_buf, rc, xattr_name,
                                         NODEMAP_FS_TO_CLIENT);
        } else if (valid == OBD_MD_FLXATTRLS) {