summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorAmit Arora <aarora@in.ibm.com>2007-07-18 03:42:38 +0200
committerTheodore Ts'o <tytso@mit.edu>2007-07-18 03:42:38 +0200
commit56055d3ae4cc7fa6d2b10885f20269de8a989ed7 (patch)
treeab0008be38ef4d2789aee16d084fdaa2d5acfc32 /include
parentfallocate support in ext4 (diff)
downloadlinux-56055d3ae4cc7fa6d2b10885f20269de8a989ed7.tar.xz
linux-56055d3ae4cc7fa6d2b10885f20269de8a989ed7.zip
write support for preallocated blocks
This patch adds write support to the uninitialized extents that get created when a preallocation is done using fallocate(). It takes care of splitting the extents into multiple (upto three) extents and merging the new split extents with neighbouring ones, if possible. Signed-off-by: Amit Arora <aarora@in.ibm.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/ext4_fs_extents.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/ext4_fs_extents.h b/include/linux/ext4_fs_extents.h
index e3d5afc6f23e..edf49ec89eac 100644
--- a/include/linux/ext4_fs_extents.h
+++ b/include/linux/ext4_fs_extents.h
@@ -205,6 +205,9 @@ static inline int ext4_ext_get_actual_len(struct ext4_extent *ext)
extern int ext4_extent_tree_init(handle_t *, struct inode *);
extern int ext4_ext_calc_credits_for_insert(struct inode *, struct ext4_ext_path *);
+extern int ext4_ext_try_to_merge(struct inode *inode,
+ struct ext4_ext_path *path,
+ struct ext4_extent *);
extern unsigned int ext4_ext_check_overlap(struct inode *, struct ext4_extent *, struct ext4_ext_path *);
extern int ext4_ext_insert_extent(handle_t *, struct inode *, struct ext4_ext_path *, struct ext4_extent *);
extern int ext4_ext_walk_space(struct inode *, unsigned long, unsigned long, ext_prepare_callback, void *);