diff options
author | Theodore Ts'o <tytso@mit.edu> | 2012-11-28 13:03:30 -0500 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2012-11-28 13:03:30 -0500 |
commit | 4a092d737955301da22b9d5e07f5036da821a932 (patch) | |
tree | e0532dda14a20822c61448a395cc60b6803b0f46 /fs/ext4/ext4.h | |
parent | 766f44d46a726cb59f52a75c5c87425a10c4bade (diff) |
ext4: rationalize ext4_extents.h inclusion
Previously, ext4_extents.h was being included at the end of ext4.h,
which was bad for a number of reasons: (a) it was not being included
in the expected place, and (b) it caused the header to be included
multiple times. There were #ifdef's to prevent this from causing any
problems, but it still was unnecessary.
By moving the function declarations that were in ext4_extents.h to
ext4.h, which is standard practice for where the function declarations
for the rest of ext4.h can be found, we can remove ext4_extents.h from
being included in ext4.h at all, and then we can only include
ext4_extents.h where it is needed in ext4's source files.
It should be possible to move a few more things into ext4.h, and
further reduce the number of source files that need to #include
ext4_extents.h, but that's a cleanup for another day.
Reported-by: Sachin Kamat <sachin.kamat@linaro.org>
Reported-by: Wei Yongjun <weiyj.lk@gmail.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'fs/ext4/ext4.h')
-rw-r--r-- | fs/ext4/ext4.h | 34 |
1 files changed, 32 insertions, 2 deletions
diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h index 246e38f3915a..2e9ffa9100bb 100644 --- a/fs/ext4/ext4.h +++ b/fs/ext4/ext4.h | |||
@@ -57,6 +57,16 @@ | |||
57 | #define ext4_debug(fmt, ...) no_printk(fmt, ##__VA_ARGS__) | 57 | #define ext4_debug(fmt, ...) no_printk(fmt, ##__VA_ARGS__) |
58 | #endif | 58 | #endif |
59 | 59 | ||
60 | /* | ||
61 | * Turn on EXT_DEBUG to get lots of info about extents operations. | ||
62 | */ | ||
63 | #define EXT_DEBUG__ | ||
64 | #ifdef EXT_DEBUG | ||
65 | #define ext_debug(fmt, ...) printk(fmt, ##__VA_ARGS__) | ||
66 | #else | ||
67 | #define ext_debug(fmt, ...) no_printk(fmt, ##__VA_ARGS__) | ||
68 | #endif | ||
69 | |||
60 | #define EXT4_ERROR_INODE(inode, fmt, a...) \ | 70 | #define EXT4_ERROR_INODE(inode, fmt, a...) \ |
61 | ext4_error_inode((inode), __func__, __LINE__, 0, (fmt), ## a) | 71 | ext4_error_inode((inode), __func__, __LINE__, 0, (fmt), ## a) |
62 | 72 | ||
@@ -2399,6 +2409,9 @@ extern int ext4_check_blockref(const char *, unsigned int, | |||
2399 | struct inode *, __le32 *, unsigned int); | 2409 | struct inode *, __le32 *, unsigned int); |
2400 | 2410 | ||
2401 | /* extents.c */ | 2411 | /* extents.c */ |
2412 | struct ext4_ext_path; | ||
2413 | struct ext4_extent; | ||
2414 | |||
2402 | extern int ext4_ext_tree_init(handle_t *handle, struct inode *); | 2415 | extern int ext4_ext_tree_init(handle_t *handle, struct inode *); |
2403 | extern int ext4_ext_writepage_trans_blocks(struct inode *, int); | 2416 | extern int ext4_ext_writepage_trans_blocks(struct inode *, int); |
2404 | extern int ext4_ext_index_trans_blocks(struct inode *inode, int nrblocks, | 2417 | extern int ext4_ext_index_trans_blocks(struct inode *inode, int nrblocks, |
@@ -2416,8 +2429,27 @@ extern int ext4_convert_unwritten_extents(struct inode *inode, loff_t offset, | |||
2416 | ssize_t len); | 2429 | ssize_t len); |
2417 | extern int ext4_map_blocks(handle_t *handle, struct inode *inode, | 2430 | extern int ext4_map_blocks(handle_t *handle, struct inode *inode, |
2418 | struct ext4_map_blocks *map, int flags); | 2431 | struct ext4_map_blocks *map, int flags); |
2432 | extern int ext4_ext_calc_metadata_amount(struct inode *inode, | ||
2433 | ext4_lblk_t lblocks); | ||
2434 | extern int ext4_extent_tree_init(handle_t *, struct inode *); | ||
2435 | extern int ext4_ext_calc_credits_for_single_extent(struct inode *inode, | ||
2436 | int num, | ||
2437 | struct ext4_ext_path *path); | ||
2438 | extern int ext4_can_extents_be_merged(struct inode *inode, | ||
2439 | struct ext4_extent *ex1, | ||
2440 | struct ext4_extent *ex2); | ||
2441 | extern int ext4_ext_insert_extent(handle_t *, struct inode *, | ||
2442 | struct ext4_ext_path *, | ||
2443 | struct ext4_extent *, int); | ||
2444 | extern struct ext4_ext_path *ext4_ext_find_extent(struct inode *, ext4_lblk_t, | ||
2445 | struct ext4_ext_path *); | ||
2446 | extern void ext4_ext_drop_refs(struct ext4_ext_path *); | ||
2447 | extern int ext4_ext_check_inode(struct inode *inode); | ||
2448 | extern int ext4_find_delalloc_cluster(struct inode *inode, ext4_lblk_t lblk); | ||
2419 | extern int ext4_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo, | 2449 | extern int ext4_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo, |
2420 | __u64 start, __u64 len); | 2450 | __u64 start, __u64 len); |
2451 | |||
2452 | |||
2421 | /* move_extent.c */ | 2453 | /* move_extent.c */ |
2422 | extern int ext4_move_extents(struct file *o_filp, struct file *d_filp, | 2454 | extern int ext4_move_extents(struct file *o_filp, struct file *d_filp, |
2423 | __u64 start_orig, __u64 start_donor, | 2455 | __u64 start_orig, __u64 start_donor, |
@@ -2505,6 +2537,4 @@ extern void ext4_resize_end(struct super_block *sb); | |||
2505 | 2537 | ||
2506 | #endif /* __KERNEL__ */ | 2538 | #endif /* __KERNEL__ */ |
2507 | 2539 | ||
2508 | #include "ext4_extents.h" | ||
2509 | |||
2510 | #endif /* _EXT4_H */ | 2540 | #endif /* _EXT4_H */ |