--- linux-2.2.10/fs/buffer.c~ Sat Jul 17 17:00:09 1999 +++ linux-2.2.10/fs/buffer.c Sat Jul 17 17:01:23 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 void 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,13 +1639,11 @@ 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); #endif run_task_queue(&tq_disk); - return 0; } @@ -1862,6 +1860,6 @@ #ifdef DEBUG printk("kupdate() activated...\n"); #endif - sync_old_buffers(); + sync_old_buffers(jiffies); } }