diff --git a/lustre/ChangeLog b/lustre/ChangeLog index b387525e81094619f40fa8ac7ad9f3ef6ad698a1..1151ea48877dffc1d084ecd3333546e80170795e 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 acc5b3267523324545b6c9d06b784b0cf7a4645c..011cd703ca6300d533f08fcc79e7366034cf5718 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;