diff options
author | Zheng Liu <wenqing.lz@taobao.com> | 2013-08-28 14:47:06 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2013-08-28 14:47:06 -0400 |
commit | d7b2a00c2e2eedf460ce2a15237f28de40412d86 (patch) | |
tree | 5a6b062e0973a84cab9b66f75a7a573361ccdf69 /fs/ext4/extents.c | |
parent | 70261f568f3c08552f034742e3d5cb78c3877766 (diff) |
ext4: isolate ext4_extents.h file
After applied the commit (4a092d73), we have reduced the number of
source files that need to #include ext4_extents.h. But we can do
better.
This commit defines ext4_zeroout_es() in extents.c and move
EXT_MAX_BLOCKS into ext4.h in order not to include ext4_extents.h in
indirect.c and ioctl.c. Meanwhile we just need to include this file in
extent_status.c when ES_AGGRESSIVE_TEST is defined. Otherwise, this
commit removes a duplicated declaration in trace/events/ext4.h.
After applied this patch, we just need to include ext4_extents.h file
in {super,migrate,move_extents,extents}.c, and it is easy for us to
define a new extent disk layout.
Signed-off-by: Zheng Liu <wenqing.lz@taobao.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'fs/ext4/extents.c')
-rw-r--r-- | fs/ext4/extents.c | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c index 916e88498c87..54d52afcdb19 100644 --- a/fs/ext4/extents.c +++ b/fs/ext4/extents.c | |||
@@ -3048,6 +3048,23 @@ void ext4_ext_release(struct super_block *sb) | |||
3048 | #endif | 3048 | #endif |
3049 | } | 3049 | } |
3050 | 3050 | ||
3051 | static int ext4_zeroout_es(struct inode *inode, struct ext4_extent *ex) | ||
3052 | { | ||
3053 | ext4_lblk_t ee_block; | ||
3054 | ext4_fsblk_t ee_pblock; | ||
3055 | unsigned int ee_len; | ||
3056 | |||
3057 | ee_block = le32_to_cpu(ex->ee_block); | ||
3058 | ee_len = ext4_ext_get_actual_len(ex); | ||
3059 | ee_pblock = ext4_ext_pblock(ex); | ||
3060 | |||
3061 | if (ee_len == 0) | ||
3062 | return 0; | ||
3063 | |||
3064 | return ext4_es_insert_extent(inode, ee_block, ee_len, ee_pblock, | ||
3065 | EXTENT_STATUS_WRITTEN); | ||
3066 | } | ||
3067 | |||
3051 | /* FIXME!! we need to try to merge to left or right after zero-out */ | 3068 | /* FIXME!! we need to try to merge to left or right after zero-out */ |
3052 | static int ext4_ext_zeroout(struct inode *inode, struct ext4_extent *ex) | 3069 | static int ext4_ext_zeroout(struct inode *inode, struct ext4_extent *ex) |
3053 | { | 3070 | { |
@@ -3200,7 +3217,7 @@ static int ext4_split_extent_at(handle_t *handle, | |||
3200 | goto fix_extent_len; | 3217 | goto fix_extent_len; |
3201 | 3218 | ||
3202 | /* update extent status tree */ | 3219 | /* update extent status tree */ |
3203 | err = ext4_es_zeroout(inode, &zero_ex); | 3220 | err = ext4_zeroout_es(inode, &zero_ex); |
3204 | 3221 | ||
3205 | goto out; | 3222 | goto out; |
3206 | } else if (err) | 3223 | } else if (err) |
@@ -3551,7 +3568,7 @@ static int ext4_ext_convert_to_initialized(handle_t *handle, | |||
3551 | out: | 3568 | out: |
3552 | /* If we have gotten a failure, don't zero out status tree */ | 3569 | /* If we have gotten a failure, don't zero out status tree */ |
3553 | if (!err) | 3570 | if (!err) |
3554 | err = ext4_es_zeroout(inode, &zero_ex); | 3571 | err = ext4_zeroout_es(inode, &zero_ex); |
3555 | return err ? err : allocated; | 3572 | return err ? err : allocated; |
3556 | } | 3573 | } |
3557 | 3574 | ||