From: Alexander Boyko Date: Wed, 6 Feb 2019 08:55:31 +0000 (-0500) Subject: LU-11934 mdc: don't use ACL at setattr X-Git-Tag: 2.12.52~58 X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=commitdiff_plain;h=e7f6f870c356f2158a01497d50d732d25b1c29ac;ds=sidebyside LU-11934 mdc: don't use ACL at setattr 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 Change-Id: Id37ee07d743371a03c0c2d14f462bdd13afe1ef6 Cray-bug-id: LUS-6938 Reviewed-on: https://review.whamcloud.com/34194 Reviewed-by: Andrew Perepechko Reviewed-by: Andriy Skulysh Tested-by: Jenkins Tested-by: Maloo Reviewed-by: Patrick Farrell Reviewed-by: Oleg Drokin --- diff --git a/lustre/mdc/mdc_reint.c b/lustre/mdc/mdc_reint.c index 03e6aac..8cce8c3 100644 --- a/lustre/mdc/mdc_reint.c +++ b/lustre/mdc/mdc_reint.c @@ -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); - 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);