From: Jian Yu <jian...@intel.com>

This patch checks the number of bulk I/O RPC pages with
PTLRPC_MAX_BRW_PAGES in ofd_preprw() to avoid
LASSERT(iobuf->dr_npages < iobuf->dr_max_pages) occurring
while larger I/O size is specified.

The patch also fixes echo_client_prep_commit() to reuse
the env context so as to avoid LASSERT(info->fti_exp == NULL)
occurring while the bulk I/O size is larger than
PTLRPC_MAX_BRW_SIZE.

The patch also improves obdfilter-survey to handle the
case while interoprating with old server.

[picked echo client part for upstream kernel submission]
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-2598
Lustre-change: http://review.whamcloud.com/6394
Signed-off-by: Jian Yu <jian...@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhurav...@intel.com>
Reviewed-by: Andreas Dilger <andreas.dil...@intel.com>
Signed-off-by: Peng Tao <tao.p...@emc.com>
Signed-off-by: Andreas Dilger <andreas.dil...@intel.com>
---
 .../staging/lustre/lustre/obdecho/echo_client.c    |    4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/staging/lustre/lustre/obdecho/echo_client.c 
b/drivers/staging/lustre/lustre/obdecho/echo_client.c
index bd86499..184195f 100644
--- a/drivers/staging/lustre/lustre/obdecho/echo_client.c
+++ b/drivers/staging/lustre/lustre/obdecho/echo_client.c
@@ -2650,6 +2650,10 @@ static int echo_client_prep_commit(const struct lu_env 
*env,
 
                /* Reset oti otherwise it would confuse ldiskfs. */
                memset(oti, 0, sizeof(*oti));
+
+               /* Reuse env context. */
+               lu_context_exit((struct lu_context *)&env->le_ctx);
+               lu_context_enter((struct lu_context *)&env->le_ctx);
        }
 
 out:
-- 
1.7.9.5

_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to