GFS2: call gfs2_write_alloc_required for each chunk
authorBenjamin Marzinski <bmarzins@redhat.com>
Thu, 8 Mar 2012 19:16:32 +0000 (13:16 -0600)
committerSteven Whitehouse <swhiteho@redhat.com>
Fri, 9 Mar 2012 15:29:10 +0000 (15:29 +0000)
commit58a7d5fb8e31279b992db4027e44b053a84b7344
tree7ba74a4d2955e698f650308b82aef225610eeb24
parent34cc1781c2ae921107e89f6633cfab7436e355ba
GFS2: call gfs2_write_alloc_required for each chunk

gfs2_fallocate was calling gfs2_write_alloc_required() once at the start of
the function. This caused problems since gfs2_write_alloc_required used a
long unsigned int for the len, but gfs2_fallocate could allocate a much
larger amount.  This patch will move the call into the loop where the
chunks are actually allocated and zeroed out. This will keep the allocation
size under the limit, and also allow gfs2_fallocate to quickly skip over
sections of the file that are already completely allocated.

fallcate_chunk was also not correctly setting the file size.  It was using the
len veriable to find the last block written to, but by the time it was setting
the size, the len variable had already been decremented to 0.

Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
fs/gfs2/file.c
This page took 0.026732 seconds and 5 git commands to generate.