]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commitad4695babee16611f0e84f511c37bd1f74a53dad
tree4b5f8e9e5376ae6a64b9757a62392b89a6316e26
parent4747197c1db84b0e85b20876240906221021a27d
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