From 2772f2f804a3787b4d1c85fcdec1c14b69cbe81f Mon Sep 17 00:00:00 2001
From: deen <deen>
Date: Thu, 13 Sep 2007 18:45:05 +0000
Subject: [PATCH] Never resend AST requests.

b=13596
i=adilger
i=deen
original patch by green
---
 lustre/ChangeLog         | 5 +++++
 lustre/ldlm/ldlm_lockd.c | 2 ++
 2 files changed, 7 insertions(+)

diff --git a/lustre/ChangeLog b/lustre/ChangeLog
index b387525e81..1151ea4887 100644
--- a/lustre/ChangeLog
+++ b/lustre/ChangeLog
@@ -44,6 +44,11 @@ Details    : "lfs find -obd UUID" will return all directory names instead
              of just file names. It is incorrect because the directories
              do not reside on the OSTs.
 
+Severity   : normal
+Bugzilla   : 13596
+Description: MDS hang after unclean shutdown of lots of clients
+Details    : Never resend AST requests.
+
 --------------------------------------------------------------------------------
 
 2007-09-27         Cluster File Systems, Inc. <info@clusterfs.com>
diff --git a/lustre/ldlm/ldlm_lockd.c b/lustre/ldlm/ldlm_lockd.c
index acc5b32675..011cd703ca 100644
--- a/lustre/ldlm/ldlm_lockd.c
+++ b/lustre/ldlm/ldlm_lockd.c
@@ -567,6 +567,7 @@ int ldlm_server_blocking_ast(struct ldlm_lock *lock,
         req->rq_async_args.pointer_arg[0] = arg;
         req->rq_async_args.pointer_arg[1] = lock;
         req->rq_interpret_reply = ldlm_cb_interpret;
+        req->rq_no_resend = 1;
 
         lock_res(lock->l_resource);
         if (lock->l_granted_mode != lock->l_req_mode) {
@@ -668,6 +669,7 @@ int ldlm_server_completion_ast(struct ldlm_lock *lock, int flags, void *data)
         req->rq_async_args.pointer_arg[0] = arg;
         req->rq_async_args.pointer_arg[1] = lock;
         req->rq_interpret_reply = ldlm_cb_interpret;
+        req->rq_no_resend = 1;
 
         body = lustre_msg_buf(req->rq_reqmsg, DLM_LOCKREQ_OFF, sizeof(*body));
         body->lock_handle[0] = lock->l_remote_handle;
-- 
GitLab