aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ext4/ext4.h
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2012-11-28 13:03:30 -0500
committerTheodore Ts'o <tytso@mit.edu>2012-11-28 13:03:30 -0500
commit4a092d737955301da22b9d5e07f5036da821a932 (patch)
treee0532dda14a20822c61448a395cc60b6803b0f46 /fs/ext4/ext4.h
parent766f44d46a726cb59f52a75c5c87425a10c4bade (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.h34
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 */
2412struct ext4_ext_path;
2413struct ext4_extent;
2414
2402extern int ext4_ext_tree_init(handle_t *handle, struct inode *); 2415extern int ext4_ext_tree_init(handle_t *handle, struct inode *);
2403extern int ext4_ext_writepage_trans_blocks(struct inode *, int); 2416extern int ext4_ext_writepage_trans_blocks(struct inode *, int);
2404extern int ext4_ext_index_trans_blocks(struct inode *inode, int nrblocks, 2417extern 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);
2417extern int ext4_map_blocks(handle_t *handle, struct inode *inode, 2430extern 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);
2432extern int ext4_ext_calc_metadata_amount(struct inode *inode,
2433 ext4_lblk_t lblocks);
2434extern int ext4_extent_tree_init(handle_t *, struct inode *);
2435extern int ext4_ext_calc_credits_for_single_extent(struct inode *inode,
2436 int num,
2437 struct ext4_ext_path *path);
2438extern int ext4_can_extents_be_merged(struct inode *inode,
2439 struct ext4_extent *ex1,
2440 struct ext4_extent *ex2);
2441extern int ext4_ext_insert_extent(handle_t *, struct inode *,
2442 struct ext4_ext_path *,
2443 struct ext4_extent *, int);
2444extern struct ext4_ext_path *ext4_ext_find_extent(struct inode *, ext4_lblk_t,
2445 struct ext4_ext_path *);
2446extern void ext4_ext_drop_refs(struct ext4_ext_path *);
2447extern int ext4_ext_check_inode(struct inode *inode);
2448extern int ext4_find_delalloc_cluster(struct inode *inode, ext4_lblk_t lblk);
2419extern int ext4_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo, 2449extern 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 */
2422extern int ext4_move_extents(struct file *o_filp, struct file *d_filp, 2454extern 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 */