diff options
author | David Teigland <teigland@redhat.com> | 2007-05-18 09:58:15 -0400 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2007-07-09 03:22:31 -0400 |
commit | 85e86edf951a8a39954c0ba1edbe4a58827dcd5c (patch) | |
tree | 0d605cdea61d8301c20a87784456a660aba89017 /fs/dlm/lockspace.c | |
parent | 916297aad5de2363dccd531873eda55d4d6afb57 (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.c | 8 |
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; |