From: Di Wang Date: Tue, 26 Sep 2017 00:25:07 +0000 (-0400) Subject: LU-9983 osp: align the OSP request size by 4k X-Git-Tag: 2.10.1-RC2~2 X-Git-Url: https://git.whamcloud.com/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F08%2F29208%2F3;p=fs%2Flustre-release.git LU-9983 osp: align the OSP request size by 4k Let's align the OSP request size by 4k, otherwise OUT might get incorrect out requests. Signed-off-by: Di Wang Change-Id: Id5c16b031dcb16d764c4e4f325f51b9ecf454533 Reviewed-on: https://review.whamcloud.com/29208 Tested-by: Jenkins Tested-by: Maloo Reviewed-by: Andreas Dilger --- diff --git a/lustre/include/lustre_update.h b/lustre/include/lustre_update.h index bed00f9..eb1f139 100644 --- a/lustre/include/lustre_update.h +++ b/lustre/include/lustre_update.h @@ -34,7 +34,6 @@ #include #include -#define OUT_UPDATE_INIT_BUFFER_SIZE 4096 #define OUT_UPDATE_REPLY_SIZE 4096 #define OUT_BULK_BUFFER_SIZE 4096 diff --git a/lustre/osp/osp_trans.c b/lustre/osp/osp_trans.c index 498ed18..5b7f694 100644 --- a/lustre/osp/osp_trans.c +++ b/lustre/osp/osp_trans.c @@ -131,11 +131,13 @@ int osp_object_update_request_create(struct osp_update_request *our, if (ours == NULL) return -ENOMEM; - if (size < OUT_UPDATE_INIT_BUFFER_SIZE) - size = OUT_UPDATE_INIT_BUFFER_SIZE; - + /* Since this buffer will be put on wire, let's + * align the buffer size to PAGE_SIZE to avoid + * trouble. + */ + LASSERT(size > 0); + size = ((size - 1) | (PAGE_SIZE - 1)) + 1; ours->ours_req = object_update_request_alloc(size); - if (IS_ERR(ours->ours_req)) { OBD_FREE_PTR(ours); return -ENOMEM; @@ -199,7 +201,7 @@ struct osp_update_request *osp_update_request_create(struct dt_device *dt) INIT_LIST_HEAD(&our->our_invalidate_cb_list); spin_lock_init(&our->our_list_lock); - rc = osp_object_update_request_create(our, OUT_UPDATE_INIT_BUFFER_SIZE); + rc = osp_object_update_request_create(our, PAGE_SIZE); if (rc != 0) { OBD_FREE_PTR(our); return ERR_PTR(rc);