diff -ur 2.3.15/fs/block_dev.c 2.3.15-balance_dirty/fs/block_dev.c --- 2.3.15/fs/block_dev.c Tue Jun 22 19:45:40 1999 +++ 2.3.15-balance_dirty/fs/block_dev.c Mon Aug 30 14:56:06 1999 @@ -124,7 +124,6 @@ } buffercount=0; } - balance_dirty(dev); if (write_error) break; } diff -ur 2.3.15/fs/buffer.c 2.3.15-balance_dirty/fs/buffer.c --- 2.3.15/fs/buffer.c Mon Aug 23 20:15:53 1999 +++ 2.3.15-balance_dirty/fs/buffer.c Mon Aug 30 15:03:03 1999 @@ -834,7 +834,7 @@ */ static int too_many_dirty_buffers; -void balance_dirty(kdev_t dev) +static void balance_dirty(void) { int dirty = nr_buffers_type[BUF_DIRTY]; int ndirty = bdf_prm.b_un.ndirty; @@ -861,6 +861,7 @@ void __mark_buffer_dirty(struct buffer_head *bh, int flag) { __mark_dirty(bh, flag); + balance_dirty(); } /* @@ -1486,7 +1487,7 @@ if (!test_and_set_bit(BH_Dirty, &bh->b_state)) { __mark_dirty(bh, 0); if (too_many_dirty_buffers) - balance_dirty(bh->b_dev); + balance_dirty(); } if (err) { @@ -1656,7 +1657,7 @@ if (!test_and_set_bit(BH_Dirty, &bh->b_state)) { __mark_dirty(bh, 0); if (too_many_dirty_buffers) - balance_dirty(bh->b_dev); + balance_dirty(); } if (err) { diff -ur 2.3.15/include/linux/fs.h 2.3.15-balance_dirty/include/linux/fs.h --- 2.3.15/include/linux/fs.h Wed Aug 25 02:09:19 1999 +++ 2.3.15-balance_dirty/include/linux/fs.h Mon Aug 30 15:01:41 1999 @@ -803,7 +803,6 @@ __mark_buffer_dirty(bh, flag); } -extern void balance_dirty(kdev_t); extern int check_disk_change(kdev_t); extern int invalidate_inodes(struct super_block *); extern void invalidate_inode_pages(struct inode *);