[PATCH] ext4: Fix up range_end offset in range cyclic writeback
From: Shantanu Goel
Date: Sat Jan 07 2012 - 22:30:36 EST
Hi,
The patch below fixes the range_end calculation which should be a byte offset and not a page index. Also, the patch updates the `end' index as well when looping again in range cyclic mode.
Signed-off-by: Shantanu Goel <sgoel01@xxxxxxxxx>
--- a/fs/ext4/inode.c
+++ b/fs/ext4/inode.c
@@ -2324,9 +2324,10 @@ retry:
blk_finish_plug(&plug);
if (!io_done && !cycled) {
cycled = 1;
+ end = index - 1;
index = 0;
- wbc->range_start = index << PAGE_CACHE_SHIFT;
- wbc->range_end = mapping->writeback_index - 1;
+ wbc->range_start = 0;
+ wbc->range_end = ((loff_t)(end + 1) << PAGE_CACHE_SHIFT) - 1;
goto retry;
}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/