diff options
author | Jaegeuk Kim <jaegeuk@kernel.org> | 2015-04-23 17:38:15 -0400 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2015-05-28 18:41:32 -0400 |
commit | 05ca3632e5a73b493b27ec3e2a337885563abff0 (patch) | |
tree | cfec80454ff027e6fa58ab688b7f7b9c3ba385b6 /fs/f2fs/f2fs.h | |
parent | 01b960e94a58d91518d5dd7001c5cd0c57335251 (diff) |
f2fs: add sbi and page pointer in f2fs_io_info
This patch adds f2fs_sb_info and page pointers in f2fs_io_info structure.
With this change, we can reduce a lot of parameters for IO functions.
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs/f2fs.h')
-rw-r--r-- | fs/f2fs/f2fs.h | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h index 2bb9b577b598..e99a404d97d7 100644 --- a/fs/f2fs/f2fs.h +++ b/fs/f2fs/f2fs.h | |||
@@ -601,9 +601,11 @@ enum page_type { | |||
601 | }; | 601 | }; |
602 | 602 | ||
603 | struct f2fs_io_info { | 603 | struct f2fs_io_info { |
604 | struct f2fs_sb_info *sbi; /* f2fs_sb_info pointer */ | ||
604 | enum page_type type; /* contains DATA/NODE/META/META_FLUSH */ | 605 | enum page_type type; /* contains DATA/NODE/META/META_FLUSH */ |
605 | int rw; /* contains R/RS/W/WS with REQ_META/REQ_PRIO */ | 606 | int rw; /* contains R/RS/W/WS with REQ_META/REQ_PRIO */ |
606 | block_t blk_addr; /* block address to be written */ | 607 | block_t blk_addr; /* block address to be written */ |
608 | struct page *page; /* page to be written */ | ||
607 | }; | 609 | }; |
608 | 610 | ||
609 | #define is_read_io(rw) (((rw) & 1) == READ) | 611 | #define is_read_io(rw) (((rw) & 1) == READ) |
@@ -1601,11 +1603,9 @@ void allocate_new_segments(struct f2fs_sb_info *); | |||
1601 | int f2fs_trim_fs(struct f2fs_sb_info *, struct fstrim_range *); | 1603 | int f2fs_trim_fs(struct f2fs_sb_info *, struct fstrim_range *); |
1602 | struct page *get_sum_page(struct f2fs_sb_info *, unsigned int); | 1604 | struct page *get_sum_page(struct f2fs_sb_info *, unsigned int); |
1603 | void write_meta_page(struct f2fs_sb_info *, struct page *); | 1605 | void write_meta_page(struct f2fs_sb_info *, struct page *); |
1604 | void write_node_page(struct f2fs_sb_info *, struct page *, | 1606 | void write_node_page(unsigned int, struct f2fs_io_info *); |
1605 | unsigned int, struct f2fs_io_info *); | 1607 | void write_data_page(struct dnode_of_data *, struct f2fs_io_info *); |
1606 | void write_data_page(struct page *, struct dnode_of_data *, | 1608 | void rewrite_data_page(struct f2fs_io_info *); |
1607 | struct f2fs_io_info *); | ||
1608 | void rewrite_data_page(struct page *, struct f2fs_io_info *); | ||
1609 | void recover_data_page(struct f2fs_sb_info *, struct page *, | 1609 | void recover_data_page(struct f2fs_sb_info *, struct page *, |
1610 | struct f2fs_summary *, block_t, block_t); | 1610 | struct f2fs_summary *, block_t, block_t); |
1611 | void allocate_data_block(struct f2fs_sb_info *, struct page *, | 1611 | void allocate_data_block(struct f2fs_sb_info *, struct page *, |
@@ -1653,10 +1653,8 @@ void destroy_checkpoint_caches(void); | |||
1653 | * data.c | 1653 | * data.c |
1654 | */ | 1654 | */ |
1655 | void f2fs_submit_merged_bio(struct f2fs_sb_info *, enum page_type, int); | 1655 | void f2fs_submit_merged_bio(struct f2fs_sb_info *, enum page_type, int); |
1656 | int f2fs_submit_page_bio(struct f2fs_sb_info *, struct page *, | 1656 | int f2fs_submit_page_bio(struct f2fs_io_info *); |
1657 | struct f2fs_io_info *); | 1657 | void f2fs_submit_page_mbio(struct f2fs_io_info *); |
1658 | void f2fs_submit_page_mbio(struct f2fs_sb_info *, struct page *, | ||
1659 | struct f2fs_io_info *); | ||
1660 | void set_data_blkaddr(struct dnode_of_data *); | 1658 | void set_data_blkaddr(struct dnode_of_data *); |
1661 | int reserve_new_block(struct dnode_of_data *); | 1659 | int reserve_new_block(struct dnode_of_data *); |
1662 | int f2fs_reserve_block(struct dnode_of_data *, pgoff_t); | 1660 | int f2fs_reserve_block(struct dnode_of_data *, pgoff_t); |
@@ -1668,7 +1666,7 @@ void f2fs_preserve_extent_tree(struct inode *); | |||
1668 | struct page *find_data_page(struct inode *, pgoff_t, bool); | 1666 | struct page *find_data_page(struct inode *, pgoff_t, bool); |
1669 | struct page *get_lock_data_page(struct inode *, pgoff_t); | 1667 | struct page *get_lock_data_page(struct inode *, pgoff_t); |
1670 | struct page *get_new_data_page(struct inode *, struct page *, pgoff_t, bool); | 1668 | struct page *get_new_data_page(struct inode *, struct page *, pgoff_t, bool); |
1671 | int do_write_data_page(struct page *, struct f2fs_io_info *); | 1669 | int do_write_data_page(struct f2fs_io_info *); |
1672 | int f2fs_fiemap(struct inode *inode, struct fiemap_extent_info *, u64, u64); | 1670 | int f2fs_fiemap(struct inode *inode, struct fiemap_extent_info *, u64, u64); |
1673 | void init_extent_cache_info(struct f2fs_sb_info *); | 1671 | void init_extent_cache_info(struct f2fs_sb_info *); |
1674 | int __init create_extent_cache(void); | 1672 | int __init create_extent_cache(void); |