diff -rup linux-2.4.20-uml/fs/jbd/transaction.c linux-2.4.21-rc2/fs/jbd/transaction.c --- linux-2.4.20-uml/fs/jbd/transaction.c Thu Nov 28 16:53:15 2002 +++ linux-2.4.21-rc2/fs/jbd/transaction.c Fri May 16 11:00:40 2003 @@ -666,7 +673,8 @@ repeat: spin_unlock(&journal_datalist_lock); unlock_journal(journal); /* commit wakes up all shadow buffers after IO */ - sleep_on(&jh2bh(jh)->b_wait); + wait_event(jh2bh(jh)->b_wait, + jh->b_jlist != BJ_Shadow); lock_journal(journal); goto repeat; }