diff options
author | Benjamin Marzinski <bmarzins@redhat.com> | 2010-08-20 00:21:02 -0500 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2010-09-20 11:19:17 +0100 |
commit | 3921120e757f9167f3fcd3a1781239824471b14d (patch) | |
tree | 4b5f8e9e5376ae6a64b9757a62392b89a6316e26 /fs/gfs2/incore.h | |
parent | 9a3f236d40a99ea8dca3df40d8ef67631057cad6 (diff) | |
download | linux-3921120e757f9167f3fcd3a1781239824471b14d.tar.gz linux-3921120e757f9167f3fcd3a1781239824471b14d.tar.bz2 linux-3921120e757f9167f3fcd3a1781239824471b14d.zip |
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>
Diffstat (limited to 'fs/gfs2/incore.h')
-rw-r--r-- | fs/gfs2/incore.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h index c11971775275..578234bb03f8 100644 --- a/fs/gfs2/incore.h +++ b/fs/gfs2/incore.h @@ -571,6 +571,7 @@ struct gfs2_sbd { struct list_head sd_rindex_mru_list; struct gfs2_rgrpd *sd_rindex_forward; unsigned int sd_rgrps; + unsigned int sd_max_rg_data; /* Journal index stuff */ |