aboutsummaryrefslogtreecommitdiffstats
path: root/fs/dlm/lockspace.c
diff options
context:
space:
mode:
authorDavid Teigland <teigland@redhat.com>2007-05-18 09:58:15 -0400
committerSteven Whitehouse <swhiteho@redhat.com>2007-07-09 03:22:31 -0400
commit85e86edf951a8a39954c0ba1edbe4a58827dcd5c (patch)
tree0d605cdea61d8301c20a87784456a660aba89017 /fs/dlm/lockspace.c
parent916297aad5de2363dccd531873eda55d4d6afb57 (diff)
[DLM] block scand during recovery [1/6]
Don't let dlm_scand run during recovery since it may try to do a resource directory removal while the directory nodes are changing. Signed-off-by: David Teigland <teigland@redhat.com> Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/dlm/lockspace.c')
-rw-r--r--fs/dlm/lockspace.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/fs/dlm/lockspace.c b/fs/dlm/lockspace.c
index a677b2a5eed4..414a108df934 100644
--- a/fs/dlm/lockspace.c
+++ b/fs/dlm/lockspace.c
@@ -234,8 +234,12 @@ static int dlm_scand(void *data)
234 struct dlm_ls *ls; 234 struct dlm_ls *ls;
235 235
236 while (!kthread_should_stop()) { 236 while (!kthread_should_stop()) {
237 list_for_each_entry(ls, &lslist, ls_list) 237 list_for_each_entry(ls, &lslist, ls_list) {
238 dlm_scan_rsbs(ls); 238 if (dlm_lock_recovery_try(ls)) {
239 dlm_scan_rsbs(ls);
240 dlm_unlock_recovery(ls);
241 }
242 }
239 schedule_timeout_interruptible(dlm_config.ci_scan_secs * HZ); 243 schedule_timeout_interruptible(dlm_config.ci_scan_secs * HZ);
240 } 244 }
241 return 0; 245 return 0;