aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKurt Hackel <kurt.hackel@oracle.com>2006-04-27 20:58:23 -0400
committerMark Fasheh <mark.fasheh@oracle.com>2006-06-26 17:42:44 -0400
commit8d79d088e88198d5456861ee9e6a8226dcd08799 (patch)
tree7d171192afc3bdd679d78a3841392ae5858bd3db
parent685f1adb3872d904e08e22fab699f34432d5068a (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>
-rw-r--r--fs/ocfs2/dlm/dlmthread.c7
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);