alistair23-linux/fs/gfs2
Benjamin Marzinski 58a7d5fb8e 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>
2012-03-09 15:29:10 +00:00
..
acl.c GFS2: We only need one ACL getting function 2011-11-23 13:31:51 +00:00
acl.h fs: take the ACL checks to common code 2011-07-25 14:30:23 -04:00
aops.c GFS2: decouple quota allocations from block allocations 2011-11-22 10:25:21 +00:00
bmap.c GFS2: decouple quota allocations from block allocations 2011-11-22 10:25:21 +00:00
bmap.h GFS2: New truncate sequence 2010-09-20 11:18:16 +01:00
dentry.c gfs2: fix d_revalidate oopsen on NFS exports 2011-03-10 03:44:48 -05:00
dir.c GFS2: decouple quota allocations from block allocations 2011-11-22 10:25:21 +00:00
dir.h GFS2: Add readahead to sequential directory traversal 2011-11-08 09:52:12 +00:00
export.c GFS2: Add readahead to sequential directory traversal 2011-11-08 09:52:12 +00:00
file.c GFS2: call gfs2_write_alloc_required for each chunk 2012-03-09 15:29:10 +00:00
gfs2.h [GFS2] Remove remote lock dropping code 2008-06-27 09:39:44 +01:00
glock.c GFS2: glock statistics gathering 2012-02-28 17:09:42 +00:00
glock.h GFS2: dlm based recovery coordination 2012-01-11 09:23:05 +00:00
glops.c filesystems: add set_nlink() 2011-11-02 12:53:43 +01:00
glops.h GFS2: Fix AIL flush issue during fsync 2011-10-21 12:39:41 +01:00
incore.h GFS2: Eliminate sd_rindex_mutex 2012-03-05 15:06:56 +00:00
inode.c GFS2: FITRIM ioctl support 2012-02-28 17:10:21 +00:00
inode.h GFS2: Use ->dirty_inode() 2011-10-21 12:39:26 +01:00
Kconfig GFS2: No longer experimental 2010-09-20 11:18:46 +01:00
lock_dlm.c GFS2: glock statistics gathering 2012-02-28 17:09:42 +00:00
log.c GFS2: Clean up log flush header writing 2012-03-09 14:07:06 +00:00
log.h GFS2: Move two functions from log.c to lops.c 2012-02-28 17:09:59 +00:00
lops.c GFS2: Remove a __GFP_NOFAIL allocation 2012-03-08 12:10:23 +00:00
lops.h [GFS2] Only do lo_incore_commit once 2008-03-31 10:39:54 +01:00
main.c GFS2: Remove a __GFP_NOFAIL allocation 2012-03-08 12:10:23 +00:00
Makefile GFS2: Rename ops_inode.c to inode.c 2011-05-10 13:12:49 +01:00
meta_io.c GFS2: Fix up REQ flags 2011-11-08 09:51:53 +00:00
meta_io.h GFS2: Remove unused macro 2011-04-20 09:00:24 +01:00
ops_fstype.c GFS2: Eliminate sd_rindex_mutex 2012-03-05 15:06:56 +00:00
quota.c Merge branch 'pm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm 2012-01-08 13:10:57 -08:00
quota.h vmscan: change shrinker API by passing shrink_control struct 2011-05-25 08:39:26 -07:00
recovery.c GFS2: fail mount if journal recovery fails 2012-01-11 09:24:48 +00:00
recovery.h gfs2: use workqueue instead of slow-work 2010-07-23 13:14:25 +02:00
rgrp.c GFS2: make sure rgrps are up to date in func gfs2_blk2rgrpd 2012-03-05 15:10:34 +00:00
rgrp.h GFS2: FITRIM ioctl support 2012-02-28 17:10:21 +00:00
super.c GFS2: Flush pending glock work when evicting an inode 2012-03-07 10:43:02 +00:00
super.h gfs: constify xattr_handler 2010-05-21 18:31:20 -04:00
sys.c GFS2: dlm based recovery coordination 2012-01-11 09:23:05 +00:00
sys.h GFS2: dlm based recovery coordination 2012-01-11 09:23:05 +00:00
trace_gfs2.h GFS2: glock statistics gathering 2012-02-28 17:09:42 +00:00
trans.c GFS2: Use rbtree for resource groups and clean up bitmap buffer ref count scheme 2011-10-21 12:39:31 +01:00
trans.h GFS2: decouple quota allocations from block allocations 2011-11-22 10:25:21 +00:00
util.c GFS2: Remove a __GFP_NOFAIL allocation 2012-03-08 12:10:23 +00:00
util.h GFS2: Remove a __GFP_NOFAIL allocation 2012-03-08 12:10:23 +00:00
xattr.c GFS2: FITRIM ioctl support 2012-02-28 17:10:21 +00:00
xattr.h sanitize xattr handler prototypes 2009-12-16 12:16:49 -05:00