Hi, Please consider applying. Description: Use msleep() instead of schedule_timeout() to guarantee the task delays as expected. The current code uses TASK_INTERRUPTIBLE; however, it does not check for signals, so I do not think the change to msleep() is necessarily bad. Signed-off-by: Nishanth Aravamudan Acked-by: Dave Kleikamp Signed-off-by: Domen Puncer --- kj-domen/fs/jfs/jfs_logmgr.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff -puN fs/jfs/jfs_logmgr.c~msleep-fs_jfs_jfs_logmgr fs/jfs/jfs_logmgr.c --- kj/fs/jfs/jfs_logmgr.c~msleep-fs_jfs_jfs_logmgr 2005-01-23 00:24:16.000000000 +0100 +++ kj-domen/fs/jfs/jfs_logmgr.c 2005-01-23 00:24:16.000000000 +0100 @@ -67,6 +67,7 @@ #include /* for sync_blockdev() */ #include #include +#include #include "jfs_incore.h" #include "jfs_filsys.h" #include "jfs_metapage.h" @@ -1612,8 +1613,7 @@ void jfs_flush_journal(struct jfs_log *l */ if ((!list_empty(&log->cqueue)) || !list_empty(&log->synclist)) { for (i = 0; i < 800; i++) { /* Too much? */ - current->state = TASK_INTERRUPTIBLE; - schedule_timeout(HZ / 4); + msleep(250); if (list_empty(&log->cqueue) && list_empty(&log->synclist)) break; _