Re: [patch 6/6] mm: fix pagecache write deadlocks

Chris Mason
2006-10-18T14:25:12Z

> Index: linux-2.6/fs/buffer.c
> ===================================================================
> --- linux-2.6.orig/fs/buffer.c
> +++ linux-2.6/fs/buffer.c
> @@ -1856,6 +1856,9 @@ static int __block_commit_write(struct i
> unsigned blocksize;
> struct buffer_head *bh, *head;
>
> + if (from == to)
> + return 0;
> +
> blocksize = 1 << inode->i_blkbits;

reiserfs v3 copied the __block_commit_write logic for checking for a
partially updated page, so reiserfs_commit_page will have to be updated
to handle from==to. Right now it will set the page up to date.

I also used a prepare/commit pare where from==to as a way to trigger
tail conversions in the lilo ioctl. I'll both for you and make a
patch.

-chris