summaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_bmap_util.h
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@infradead.org>2013-10-12 09:55:07 +0200
committerBen Myers <bpm@sgi.com>2013-10-21 23:56:21 +0200
commit83aee9e4c2976143f35b3a42ad1faadf58c53ae7 (patch)
tree568ca76e660645e9762f14c1972514b7f59f247c /fs/xfs/xfs_bmap_util.h
parentxfs: always hold the iolock when calling xfs_change_file_space (diff)
downloadlinux-83aee9e4c2976143f35b3a42ad1faadf58c53ae7.tar.xz
linux-83aee9e4c2976143f35b3a42ad1faadf58c53ae7.zip
xfs: simplify the fallocate path
Call xfs_alloc_file_space or xfs_free_file_space directly from xfs_file_fallocate instead of going through xfs_change_file_space. This simplified the code by removing the unessecary marshalling of the arguments into an xfs_flock64_t structure and allows removing checks that are already done in the VFS code. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Dave Chinner <dchinner@redhat.com> Signed-off-by: Ben Myers <bpm@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_bmap_util.h')
-rw-r--r--fs/xfs/xfs_bmap_util.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/xfs/xfs_bmap_util.h b/fs/xfs/xfs_bmap_util.h
index 061260946f7a..77cf5001719b 100644
--- a/fs/xfs/xfs_bmap_util.h
+++ b/fs/xfs/xfs_bmap_util.h
@@ -96,6 +96,10 @@ int xfs_bmap_last_extent(struct xfs_trans *tp, struct xfs_inode *ip,
int xfs_change_file_space(struct xfs_inode *ip, int cmd,
xfs_flock64_t *bf, xfs_off_t offset,
int attr_flags);
+int xfs_alloc_file_space(struct xfs_inode *ip, xfs_off_t offset,
+ xfs_off_t len, int alloc_type);
+int xfs_free_file_space(struct xfs_inode *ip, xfs_off_t offset,
+ xfs_off_t len);
/* EOF block manipulation functions */
bool xfs_can_free_eofblocks(struct xfs_inode *ip, bool force);