--- /tmp/linux-2.2.10/fs/buffer.c Tue Jul 13 00:33:14 1999 +++ linux-2.2.10/fs/buffer.c Sat Jul 17 16:20:39 1999 @@ -1577,7 +1577,7 @@ * and superblocks so that we could write back only the old ones as well */ -static int sync_old_buffers(void) +static int sync_old_buffers(unsigned long now) { int i; int ndirty, nwritten; @@ -1625,7 +1625,7 @@ if (buffer_locked(bh) || !buffer_dirty(bh)) continue; ndirty++; - if(time_before(jiffies, bh->b_flushtime)) + if(time_before(now, bh->b_flushtime)) continue; nwritten++; next->b_count++; @@ -1639,7 +1639,6 @@ next->b_count--; } } - run_task_queue(&tq_disk); #ifdef DEBUG if (ncount) printk("sync_old_buffers: %d dirty buffers not on dirty list\n", ncount); printk("Wrote %d/%d buffers\n", nwritten, ndirty); @@ -1663,7 +1662,7 @@ goto out; if (func == 1) { - error = sync_old_buffers(); + error = sync_old_buffers(jiffies); goto out; }