[PATCH] ext3 block reservations
rbtree implementation and other changes From: Stephen Tweedie <sct@redhat.com> contributions From: Badari Pulavarty <pbadari@us.ibm.com> and probably me. This is the ext3 block reservation patch. It improves the layout of ext3 files by establishing, for each inode, reserved areas of the disk in which only that file can allocate blocks. Those reserved areas are managed in an rbtree, via the in-core inode. It's a bit like ext2 preallocation only stronger in that it can span already-allocated blocks, including the per-blockgroup inode tables and bitmaps. The patch fixes ext3's worst performance problem: disastrous layout when multiple files are being concurrently grown. It increases the size of the inode by rather a lot. A todo item is to dynamically allocate the `struct reserve_window_node', so we don't need to carry this storage for inodes which aren't opened for writing. The feature is enabled by mounting with the "reservation" mount option. Reservations default to "off". Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Showing
Please register or sign in to comment