GFS2: rewrite fallocate code to write blocks directly
authorBenjamin Marzinski <bmarzins@redhat.com>
Mon, 12 Sep 2011 23:15:24 +0000 (18:15 -0500)
committerSteven Whitehouse <swhiteho@redhat.com>
Fri, 21 Oct 2011 11:39:49 +0000 (12:39 +0100)
commit64dd153c83743af81f20924c6343652d731eeecb
treee296566ece355c34cb10ad35ce35f43ca58fd036
parentbd5437a7d4307a35f2c7cc19cad706ec0e5d61f0
GFS2: rewrite fallocate code to write blocks directly

GFS2's fallocate code currently goes through the page cache. Since it's only
writing to the end of the file or to holes in it, it doesn't need to, and it
was causing issues on low memory environments. This patch pulls in some of
Steve's block allocation work, and uses it to simply allocate the blocks for
the file, and zero them out at allocation time.  It provides a slight
performance increase, and it dramatically simplifies the code.

Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
fs/gfs2/bmap.c
fs/gfs2/file.c
fs/gfs2/incore.h