Skip to content
Snippets Groups Projects
Commit 2772f2f8 authored by deen's avatar deen
Browse files

Never resend AST requests.

b=13596
i=adilger
i=deen
original patch by green
parent 2adea4fb
No related branches found
No related tags found
No related merge requests found
...@@ -44,6 +44,11 @@ Details : "lfs find -obd UUID" will return all directory names instead ...@@ -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 of just file names. It is incorrect because the directories
do not reside on the OSTs. 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> 2007-09-27 Cluster File Systems, Inc. <info@clusterfs.com>
......
...@@ -567,6 +567,7 @@ int ldlm_server_blocking_ast(struct ldlm_lock *lock, ...@@ -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[0] = arg;
req->rq_async_args.pointer_arg[1] = lock; req->rq_async_args.pointer_arg[1] = lock;
req->rq_interpret_reply = ldlm_cb_interpret; req->rq_interpret_reply = ldlm_cb_interpret;
req->rq_no_resend = 1;
lock_res(lock->l_resource); lock_res(lock->l_resource);
if (lock->l_granted_mode != lock->l_req_mode) { 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) ...@@ -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[0] = arg;
req->rq_async_args.pointer_arg[1] = lock; req->rq_async_args.pointer_arg[1] = lock;
req->rq_interpret_reply = ldlm_cb_interpret; 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 = lustre_msg_buf(req->rq_reqmsg, DLM_LOCKREQ_OFF, sizeof(*body));
body->lock_handle[0] = lock->l_remote_handle; body->lock_handle[0] = lock->l_remote_handle;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment