From: OGAWA Hirofumi reiser4 doesn't check wbc->end, and perhaps it does not use cyclic behavior. Cc: "Vladimir V. Saveliev" Signed-off-by: Andrew Morton --- fs/reiser4/entd.c | 8 ++++---- fs/reiser4/plugin/file/file.c | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff -puN fs/reiser4/entd.c~reiser4-writeback-fix-range-handling fs/reiser4/entd.c --- devel/fs/reiser4/entd.c~reiser4-writeback-fix-range-handling 2006-04-22 01:39:53.000000000 -0700 +++ devel-akpm/fs/reiser4/entd.c 2006-04-22 01:39:53.000000000 -0700 @@ -269,14 +269,14 @@ static void entd_flush(struct super_bloc init_stack_context(&ctx, super); ctx.entd = 1; - rq->wbc->start = rq->page->index << PAGE_CACHE_SHIFT; - rq->wbc->end = (rq->page->index + ENTD_CAPTURE_APAGE_BURST) << PAGE_CACHE_SHIFT; + rq->wbc->range_start = rq->page->index << PAGE_CACHE_SHIFT; + rq->wbc->range_end = (rq->page->index + ENTD_CAPTURE_APAGE_BURST) << PAGE_CACHE_SHIFT; tmp = rq->wbc->nr_to_write; rq->mapping->a_ops->writepages(rq->mapping, rq->wbc); if (rq->wbc->nr_to_write > 0) { - rq->wbc->start = 0; - rq->wbc->end = 0; + rq->wbc->range_start = 0; + rq->wbc->range_end = LLONG_MAX; generic_sync_sb_inodes(super, rq->wbc); } rq->wbc->nr_to_write = ENTD_CAPTURE_APAGE_BURST; diff -puN fs/reiser4/plugin/file/file.c~reiser4-writeback-fix-range-handling fs/reiser4/plugin/file/file.c --- devel/fs/reiser4/plugin/file/file.c~reiser4-writeback-fix-range-handling 2006-04-22 01:39:53.000000000 -0700 +++ devel-akpm/fs/reiser4/plugin/file/file.c 2006-04-22 01:39:53.000000000 -0700 @@ -1547,7 +1547,7 @@ writepages_unix_file(struct address_spac result = 0; goto end; } - jindex = pindex = wbc->start >> PAGE_CACHE_SHIFT; + jindex = pindex = wbc->range_start >> PAGE_CACHE_SHIFT; result = 0; nr_pages = (i_size_read(inode) + PAGE_CACHE_SIZE - 1) >> PAGE_CACHE_SHIFT; _