]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
GFS2: Reduce file fragmentation
authorBob Peterson <rpeterso@redhat.com>
Thu, 19 Jul 2012 12:12:40 +0000 (08:12 -0400)
committerSteven Whitehouse <swhiteho@redhat.com>
Thu, 19 Jul 2012 13:51:08 +0000 (14:51 +0100)
commit8e2e00473598dd5379d8408cb974dade000acafc
tree1f7bfdf0d07b6c0315bbd11ffee174742d66a459
parent294f2ad5a545eb71d397623743ddd8201131bdad
GFS2: Reduce file fragmentation

This patch reduces GFS2 file fragmentation by pre-reserving blocks. The
resulting improved on disk layout greatly speeds up operations in cases
which would have resulted in interlaced allocation of blocks previously.
A typical example of this is 10 parallel dd processes, each writing to a
file in a common dirctory.

The implementation uses an rbtree of reservations attached to each
resource group (and each inode).

Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
fs/gfs2/bmap.c
fs/gfs2/file.c
fs/gfs2/incore.h
fs/gfs2/inode.c
fs/gfs2/rgrp.c
fs/gfs2/rgrp.h
fs/gfs2/super.c
fs/gfs2/trace_gfs2.h
fs/gfs2/xattr.c