Whamcloud - gitweb
LU-11934 mdc: don't use ACL at setattr 94/34194/2
authorAlexander Boyko <c17825@cray.com>
Wed, 6 Feb 2019 08:55:31 +0000 (03:55 -0500)
committerOleg Drokin <green@whamcloud.com>
Mon, 18 Feb 2019 06:39:02 +0000 (06:39 +0000)
For ldiskfs with large_ea, EA max size is equal to 1MB.
At mdc_setattr ptlrpc reply size is 1.1MB and it is rounded
to 2MB. So REINT_SETATTR request takes about 2MB of memory at
client. For a MDS failover case many request stay at reply queue
and could lead to OOM.

The patch changes acl size to zero, cause server doesn't fill
acl for setattr request.

Signed-off-by: Alexander Boyko <c17825@cray.com>
Change-Id: Id37ee07d743371a03c0c2d14f462bdd13afe1ef6
Cray-bug-id: LUS-6938
Reviewed-on: https://review.whamcloud.com/34194
Reviewed-by: Andrew Perepechko <c17827@cray.com>
Reviewed-by: Andriy Skulysh <c17819@cray.com>
Tested-by: Jenkins
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Patrick Farrell <pfarrell@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/mdc/mdc_reint.c

index 03e6aac..8cce8c3 100644 (file)
@@ -136,9 +136,8 @@ int mdc_setattr(struct obd_export *exp, struct md_op_data *op_data,
                       (s64)op_data->op_attr.ia_ctime.tv_sec);
        mdc_setattr_pack(req, op_data, ea, ealen);
 
                       (s64)op_data->op_attr.ia_ctime.tv_sec);
        mdc_setattr_pack(req, op_data, ea, ealen);
 
-       req_capsule_set_size(&req->rq_pill, &RMF_ACL, RCL_SERVER,
-                            MIN(req->rq_import->imp_connect_data.ocd_max_easize,
-                                XATTR_SIZE_MAX));
+       req_capsule_set_size(&req->rq_pill, &RMF_ACL, RCL_SERVER, 0);
+
         ptlrpc_request_set_replen(req);
 
        rc = mdc_reint(req, LUSTRE_IMP_FULL);
         ptlrpc_request_set_replen(req);
 
        rc = mdc_reint(req, LUSTRE_IMP_FULL);