diff options
author | Kurt Hackel <kurt.hackel@oracle.com> | 2006-04-27 20:58:23 -0400 |
---|---|---|
committer | Mark Fasheh <mark.fasheh@oracle.com> | 2006-06-26 17:42:44 -0400 |
commit | 8d79d088e88198d5456861ee9e6a8226dcd08799 (patch) | |
tree | 7d171192afc3bdd679d78a3841392ae5858bd3db /fs | |
parent | 685f1adb3872d904e08e22fab699f34432d5068a (diff) |
ocfs2: add a small delay after a failed migration
Otherwise we risk starving other threads.
Signed-off-by: Kurt Hackel <kurt.hackel@oracle.com>
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/ocfs2/dlm/dlmthread.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/fs/ocfs2/dlm/dlmthread.c b/fs/ocfs2/dlm/dlmthread.c index 44d3b57ae8a8..22bb58a514df 100644 --- a/fs/ocfs2/dlm/dlmthread.c +++ b/fs/ocfs2/dlm/dlmthread.c | |||
@@ -39,6 +39,7 @@ | |||
39 | #include <linux/inet.h> | 39 | #include <linux/inet.h> |
40 | #include <linux/timer.h> | 40 | #include <linux/timer.h> |
41 | #include <linux/kthread.h> | 41 | #include <linux/kthread.h> |
42 | #include <linux/delay.h> | ||
42 | 43 | ||
43 | 44 | ||
44 | #include "cluster/heartbeat.h" | 45 | #include "cluster/heartbeat.h" |
@@ -165,6 +166,7 @@ again: | |||
165 | } else if (ret < 0) { | 166 | } else if (ret < 0) { |
166 | mlog(ML_NOTICE, "lockres %.*s: migrate failed, retrying\n", | 167 | mlog(ML_NOTICE, "lockres %.*s: migrate failed, retrying\n", |
167 | lockres->lockname.len, lockres->lockname.name); | 168 | lockres->lockname.len, lockres->lockname.name); |
169 | msleep(100); | ||
168 | goto again; | 170 | goto again; |
169 | } | 171 | } |
170 | 172 | ||
@@ -640,8 +642,9 @@ static int dlm_thread(void *data) | |||
640 | * spinlock and do NOT have the dlm lock. | 642 | * spinlock and do NOT have the dlm lock. |
641 | * safe to reserve/queue asts and run the lists. */ | 643 | * safe to reserve/queue asts and run the lists. */ |
642 | 644 | ||
643 | mlog(0, "calling dlm_shuffle_lists with dlm=%p, " | 645 | mlog(0, "calling dlm_shuffle_lists with dlm=%s, " |
644 | "res=%p\n", dlm, res); | 646 | "res=%.*s\n", dlm->name, |
647 | res->lockname.len, res->lockname.name); | ||
645 | 648 | ||
646 | /* called while holding lockres lock */ | 649 | /* called while holding lockres lock */ |
647 | dlm_shuffle_lists(dlm, res); | 650 | dlm_shuffle_lists(dlm, res); |