patch-2.3.99-pre2 linux/fs/buffer.c
Next file: linux/fs/dquot.c
Previous file: linux/fs/binfmt_script.c
Back to the patch index
Back to the overall index
- Lines: 20
- Date:
Wed Mar 15 19:28:35 2000
- Orig file:
v2.3.99-pre1/linux/fs/buffer.c
- Orig date:
Fri Mar 10 16:40:46 2000
diff -u --recursive --new-file v2.3.99-pre1/linux/fs/buffer.c linux/fs/buffer.c
@@ -147,13 +147,13 @@
atomic_inc(&bh->b_count);
add_wait_queue(&bh->b_wait, &wait);
-repeat:
- run_task_queue(&tq_disk);
- set_task_state(tsk, TASK_UNINTERRUPTIBLE);
- if (buffer_locked(bh)) {
+ do {
+ run_task_queue(&tq_disk);
+ set_task_state(tsk, TASK_UNINTERRUPTIBLE);
+ if (!buffer_locked(bh))
+ break;
schedule();
- goto repeat;
- }
+ } while (buffer_locked(bh));
tsk->state = TASK_RUNNING;
remove_wait_queue(&bh->b_wait, &wait);
atomic_dec(&bh->b_count);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)