diff options
author | Amit Arora <aarora@in.ibm.com> | 2007-07-18 03:42:38 +0200 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2007-07-18 03:42:38 +0200 |
commit | 56055d3ae4cc7fa6d2b10885f20269de8a989ed7 (patch) | |
tree | ab0008be38ef4d2789aee16d084fdaa2d5acfc32 /include | |
parent | fallocate support in ext4 (diff) | |
download | linux-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.h | 3 |
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 *); |