GFS2: fallocate support
authorBenjamin Marzinski <bmarzins@redhat.com>
Fri, 20 Aug 2010 05:21:02 +0000 (00:21 -0500)
committerSteven Whitehouse <swhiteho@redhat.com>
Mon, 20 Sep 2010 10:19:17 +0000 (11:19 +0100)
commit3921120e757f9167f3fcd3a1781239824471b14d
tree4b5f8e9e5376ae6a64b9757a62392b89a6316e26
parent9a3f236d40a99ea8dca3df40d8ef67631057cad6
GFS2: fallocate support

This patch adds support for fallocate to gfs2.  Since the gfs2 does not support
uninitialized data blocks, it must write out zeros to all the blocks.  However,
since it does not need to lock any pages to read from, gfs2 can write out the
zero blocks much more efficiently.  On a moderately full filesystem, fallocate
works around 5 times faster on average.  The fallocate call also allows gfs2 to
add blocks to the file without changing the filesize, which will make it
possible for gfs2 to preallocate space for the rindex file, so that gfs2 can
grow a completely full filesystem.

Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
fs/gfs2/aops.c
fs/gfs2/incore.h
fs/gfs2/inode.h
fs/gfs2/ops_inode.c
fs/gfs2/rgrp.c
fs/gfs2/trans.h