=========================================================================== Index: linux/fs/xfs/pagebuf/page_buf_io.c =========================================================================== --- /usr/tmp/TmpDir.14380-0/linux/fs/xfs/pagebuf/page_buf_io.c_1.4 Mon Jan 28 09:34:10 2002 +++ linux/fs/xfs/pagebuf/page_buf_io.c Mon Jan 28 09:26:08 2002 @@ -1336,8 +1336,8 @@ head = bh; do { lock_buffer(bh); - clear_bit(BH_Delay, &bh->b_state); - if (atomic_set_buffer_clean(bh)) { + if (!test_and_clear_bit(BH_Delay, &bh->b_state) || + atomic_set_buffer_clean(bh)) { get_bh(bh); bh->b_end_io = end_buffer_io_sync; refile_buffer(bh);