diff options
author | Amit Arora <aarora@in.ibm.com> | 2007-05-24 21:04:13 +0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2007-06-01 00:20:15 +0400 |
commit | 25d14f983f70ddbeb15fa2d0f32f6b70bca42a15 (patch) | |
tree | 322e219240fc4b527b5c5b16d1f7a97b5dd0917b /include/linux/ext4_fs_extents.h | |
parent | 8a9dc94498f39c259b011d0abcb89bdf73cafa2d (diff) | |
download | linux-25d14f983f70ddbeb15fa2d0f32f6b70bca42a15.tar.xz |
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/ext4_fs_extents.h')
-rw-r--r-- | include/linux/ext4_fs_extents.h | 1 |
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 *); |