From 78fca56a1946ccf6aa9b30625b34a8cdab0b2a0e Mon Sep 17 00:00:00 2001 From: Johann Lombardi Date: Thu, 25 Nov 2010 18:21:16 +0100 Subject: [PATCH] b=21760 start bulk unregistering at the same time as reply unlink i=vitaly i=oleg --- lustre/ChangeLog | 5 +++++ lustre/ptlrpc/client.c | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/lustre/ChangeLog b/lustre/ChangeLog index 08b5c43..57c7c86 100644 --- a/lustre/ChangeLog +++ b/lustre/ChangeLog @@ -12,6 +12,11 @@ xxxx-xx-xx Oracle, Inc. * The async journal commit feature (bug 19128) and the cancel lock before replay feature (bug 16774) are disabled by default. +Severity : normal +Bugzilla : 21760 +Description: apps stuck in ptlrpc_check_set() during direct I/O +Details : start async bulk unregistering at the same time at reply unlink + ------------------------------------------------------------------------------- 2010-10-29 Oracle, Inc. diff --git a/lustre/ptlrpc/client.c b/lustre/ptlrpc/client.c index 82c46e7..9386396 100644 --- a/lustre/ptlrpc/client.c +++ b/lustre/ptlrpc/client.c @@ -1426,8 +1426,11 @@ int ptlrpc_check_set(struct ptlrpc_request_set *set) /* This moves to "unregistering" phase we need to wait for * reply unlink. */ - if (!unregistered && !ptlrpc_unregister_reply(req, 1)) + if (!unregistered && !ptlrpc_unregister_reply(req, 1)) { + /** start async bulk unlink too */ + ptlrpc_unregister_bulk(req, 1); continue; + } if (!ptlrpc_unregister_bulk(req, 1)) continue; -- 1.8.3.1