From 569f43efb5b5a8fc9c7a1d4b9c4c7d6db052ad67 Mon Sep 17 00:00:00 2001 From: Dave Chinner Date: Thu, 4 Mar 2010 01:46:23 +0000 Subject: [PATCH] --- yaml --- r: 186391 b: refs/heads/master c: 20f6b2c785cf187445f126321638ab8ba7aa7494 h: refs/heads/master i: 186389: 0d0376125887ac33922a72a6aefe34a3a3edb887 186387: 80ad3dff449c9e148a8325a009410ea54194f941 186383: bd3bd31e170efffa63c61334d567c46f5ea6f9bd v: v3 --- [refs] | 2 +- trunk/fs/xfs/linux-2.6/xfs_sync.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index a4044f044c45..806104594f29 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 694189328a7e566cb84bd3205503a42b60e87882 +refs/heads/master: 20f6b2c785cf187445f126321638ab8ba7aa7494 diff --git a/trunk/fs/xfs/linux-2.6/xfs_sync.c b/trunk/fs/xfs/linux-2.6/xfs_sync.c index f9fc154d9f72..05cd85317f6f 100644 --- a/trunk/fs/xfs/linux-2.6/xfs_sync.c +++ b/trunk/fs/xfs/linux-2.6/xfs_sync.c @@ -607,7 +607,8 @@ xfssyncd( set_freezable(); timeleft = xfs_syncd_centisecs * msecs_to_jiffies(10); for (;;) { - timeleft = schedule_timeout_interruptible(timeleft); + if (list_empty(&mp->m_sync_list)) + timeleft = schedule_timeout_interruptible(timeleft); /* swsusp */ try_to_freeze(); if (kthread_should_stop() && list_empty(&mp->m_sync_list)) @@ -627,8 +628,7 @@ xfssyncd( list_add_tail(&mp->m_sync_work.w_list, &mp->m_sync_list); } - list_for_each_entry_safe(work, n, &mp->m_sync_list, w_list) - list_move(&work->w_list, &tmp); + list_splice_init(&mp->m_sync_list, &tmp); spin_unlock(&mp->m_sync_lock); list_for_each_entry_safe(work, n, &tmp, w_list) {