[CALL FOR TESTING] Make Ext3 fsck way faster [2.6.24-rc6 -mm patch]

Previous thread: [CALL FOR TESTING] Make Ext3 fsck way faster [2.6.23.13] by Abhishek Rai on Sunday, January 13, 2008 - 1:41 am. (4 messages)

Next thread: 2.6.24-rc6-mm1 - oddness with IPv4/v6 mapped sockets hanging... by Valdis.Kletnieks on Sunday, January 13, 2008 - 3:35 am. (12 messages)
To: <linux-kernel@...>
Cc: <rohitseth@...>, <akpm@...>, <phillips@...>
Date: Sunday, January 13, 2008 - 1:47 am

Hi,

This patch speeds up e2fsck on Ext3 significantly using a technique called
Metaclustering. Metaclustering is being
discussed on LKML in some other threads, here is the latest patch against
the 2.6.24-rc6 -mm patch, any help in
testing and evaluating this will be greatly appreciated! While I'd direct
anyone interested in details of
metaclustering to other LKML threads discussing it, I've enclosed a brief
description here:

Metaclustering refers to storing indirect blocks in clusters on a
per-group basis instead of spreading them out
along with the data blocks. This makes e2fsck faster since it can now read
and verify all indirect blocks without
much seeks. However, done naively it can affect IO performance, so we have
built in some optimizations to prevent
that from happening. Finally, the benefit in fsck performance is
noticeable only when indirect block reads are the
bottleneck which is not always the case, but quite frequently is, in the
case of moderate to large disks with lot of
data on them. However, when indirect block reads are not the
bottleneck, e2fsck is generally quite fast anyway to warrant any
performance improvements.

Thanks!
Abhishek

Signed-off-by: Abhishek Rai <abhishekrai@google.com>

diff -rupdN linux-2.6.24-rc6mm1-clean/fs/ext3/balloc.c linux-2.6.24-rc6mm1-ext3mc/fs/ext3/balloc.c
--- linux-2.6.24-rc6mm1-clean/fs/ext3/balloc.c 2008-01-12 21:56:14.000000000 -0500
+++ linux-2.6.24-rc6mm1-ext3mc/fs/ext3/balloc.c 2008-01-12 23:53:55.000000000 -0500
@@ -33,6 +33,29 @@
* super block. Each descriptor contains the number of the bitmap block and
* the free blocks count in the block. The descriptors are loaded in memory
* when a file system is mounted (see ext3_fill_super).
+ *
+ * A note on ext3 metaclustering:
+ *
+ * Start of End of
+ * block group block group
+ * ________________________________________________________________
+ * | NON-MC REGION | MC REGION |
+ * | |Overflow |
+ * |Data blocks and...

Previous thread: [CALL FOR TESTING] Make Ext3 fsck way faster [2.6.23.13] by Abhishek Rai on Sunday, January 13, 2008 - 1:41 am. (4 messages)

Next thread: 2.6.24-rc6-mm1 - oddness with IPv4/v6 mapped sockets hanging... by Valdis.Kletnieks on Sunday, January 13, 2008 - 3:35 am. (12 messages)