summaryrefslogtreecommitdiffstats
path: root/fs/f2fs/f2fs.h
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk@kernel.org>2015-04-23 17:38:15 -0400
committerJaegeuk Kim <jaegeuk@kernel.org>2015-05-28 18:41:32 -0400
commit05ca3632e5a73b493b27ec3e2a337885563abff0 (patch)
treecfec80454ff027e6fa58ab688b7f7b9c3ba385b6 /fs/f2fs/f2fs.h
parent01b960e94a58d91518d5dd7001c5cd0c57335251 (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.h18
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
603struct f2fs_io_info { 603struct 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 *);
1601int f2fs_trim_fs(struct f2fs_sb_info *, struct fstrim_range *); 1603int f2fs_trim_fs(struct f2fs_sb_info *, struct fstrim_range *);
1602struct page *get_sum_page(struct f2fs_sb_info *, unsigned int); 1604struct page *get_sum_page(struct f2fs_sb_info *, unsigned int);
1603void write_meta_page(struct f2fs_sb_info *, struct page *); 1605void write_meta_page(struct f2fs_sb_info *, struct page *);
1604void write_node_page(struct f2fs_sb_info *, struct page *, 1606void write_node_page(unsigned int, struct f2fs_io_info *);
1605 unsigned int, struct f2fs_io_info *); 1607void write_data_page(struct dnode_of_data *, struct f2fs_io_info *);
1606void write_data_page(struct page *, struct dnode_of_data *, 1608void rewrite_data_page(struct f2fs_io_info *);
1607 struct f2fs_io_info *);
1608void rewrite_data_page(struct page *, struct f2fs_io_info *);
1609void recover_data_page(struct f2fs_sb_info *, struct page *, 1609void 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);
1611void allocate_data_block(struct f2fs_sb_info *, struct page *, 1611void 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 */
1655void f2fs_submit_merged_bio(struct f2fs_sb_info *, enum page_type, int); 1655void f2fs_submit_merged_bio(struct f2fs_sb_info *, enum page_type, int);
1656int f2fs_submit_page_bio(struct f2fs_sb_info *, struct page *, 1656int f2fs_submit_page_bio(struct f2fs_io_info *);
1657 struct f2fs_io_info *); 1657void f2fs_submit_page_mbio(struct f2fs_io_info *);
1658void f2fs_submit_page_mbio(struct f2fs_sb_info *, struct page *,
1659 struct f2fs_io_info *);
1660void set_data_blkaddr(struct dnode_of_data *); 1658void set_data_blkaddr(struct dnode_of_data *);
1661int reserve_new_block(struct dnode_of_data *); 1659int reserve_new_block(struct dnode_of_data *);
1662int f2fs_reserve_block(struct dnode_of_data *, pgoff_t); 1660int f2fs_reserve_block(struct dnode_of_data *, pgoff_t);
@@ -1668,7 +1666,7 @@ void f2fs_preserve_extent_tree(struct inode *);
1668struct page *find_data_page(struct inode *, pgoff_t, bool); 1666struct page *find_data_page(struct inode *, pgoff_t, bool);
1669struct page *get_lock_data_page(struct inode *, pgoff_t); 1667struct page *get_lock_data_page(struct inode *, pgoff_t);
1670struct page *get_new_data_page(struct inode *, struct page *, pgoff_t, bool); 1668struct page *get_new_data_page(struct inode *, struct page *, pgoff_t, bool);
1671int do_write_data_page(struct page *, struct f2fs_io_info *); 1669int do_write_data_page(struct f2fs_io_info *);
1672int f2fs_fiemap(struct inode *inode, struct fiemap_extent_info *, u64, u64); 1670int f2fs_fiemap(struct inode *inode, struct fiemap_extent_info *, u64, u64);
1673void init_extent_cache_info(struct f2fs_sb_info *); 1671void init_extent_cache_info(struct f2fs_sb_info *);
1674int __init create_extent_cache(void); 1672int __init create_extent_cache(void);