aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorAmit Arora <aarora@in.ibm.com>2007-05-24 13:04:13 -0400
committerTheodore Ts'o <tytso@mit.edu>2007-05-31 16:20:15 -0400
commit25d14f983f70ddbeb15fa2d0f32f6b70bca42a15 (patch)
tree322e219240fc4b527b5c5b16d1f7a97b5dd0917b /include/linux
parentRemove unnecessary exported symbols. (diff)
downloadlinux-dev-25d14f983f70ddbeb15fa2d0f32f6b70bca42a15.tar.xz
linux-dev-25d14f983f70ddbeb15fa2d0f32f6b70bca42a15.zip
ext4: Extent overlap bugfix
This patch adds a check for overlap of extents and cuts short the new extent to be inserted, if there is a chance of overlap. Signed-off-by: Amit Arora <aarora@in.ibm.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/ext4_fs_extents.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/ext4_fs_extents.h b/include/linux/ext4_fs_extents.h
index da23233a6627..acfe59740b03 100644
--- a/include/linux/ext4_fs_extents.h
+++ b/include/linux/ext4_fs_extents.h
@@ -190,6 +190,7 @@ ext4_ext_invalidate_cache(struct inode *inode)
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 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 *);
extern struct ext4_ext_path * ext4_ext_find_extent(struct inode *, int, struct ext4_ext_path *);