[PATCH 1/6] f2fs: introduce F2FS_I_SB, F2FS_M_SB, and F2FS_P_SB

2014-09-02 Thread Jaegeuk Kim
This patch adds three inline functions to clean up dirty casting codes.

Signed-off-by: Jaegeuk Kim 
---
 fs/f2fs/checkpoint.c | 18 +++---
 fs/f2fs/data.c   | 31 ++-
 fs/f2fs/dir.c| 13 +
 fs/f2fs/f2fs.h   | 23 +++
 fs/f2fs/file.c   | 20 ++--
 fs/f2fs/inline.c | 13 +
 fs/f2fs/inode.c  |  8 
 fs/f2fs/namei.c  | 21 ++---
 fs/f2fs/node.c   | 43 +--
 fs/f2fs/node.h   |  3 +--
 fs/f2fs/recovery.c   |  2 +-
 fs/f2fs/segment.c| 14 ++
 fs/f2fs/segment.h|  2 +-
 fs/f2fs/xattr.c  |  6 +++---
 14 files changed, 103 insertions(+), 114 deletions(-)

diff --git a/fs/f2fs/checkpoint.c b/fs/f2fs/checkpoint.c
index ec3b7a5..cb5cb4c 100644
--- a/fs/f2fs/checkpoint.c
+++ b/fs/f2fs/checkpoint.c
@@ -151,8 +151,7 @@ out:
 static int f2fs_write_meta_page(struct page *page,
struct writeback_control *wbc)
 {
-   struct inode *inode = page->mapping->host;
-   struct f2fs_sb_info *sbi = F2FS_SB(inode->i_sb);
+   struct f2fs_sb_info *sbi = F2FS_P_SB(page);
 
trace_f2fs_writepage(page, META);
 
@@ -177,7 +176,7 @@ redirty_out:
 static int f2fs_write_meta_pages(struct address_space *mapping,
struct writeback_control *wbc)
 {
-   struct f2fs_sb_info *sbi = F2FS_SB(mapping->host->i_sb);
+   struct f2fs_sb_info *sbi = F2FS_M_SB(mapping);
long diff, written;
 
trace_f2fs_writepages(mapping->host, wbc, META);
@@ -259,15 +258,12 @@ continue_unlock:
 
 static int f2fs_set_meta_page_dirty(struct page *page)
 {
-   struct address_space *mapping = page->mapping;
-   struct f2fs_sb_info *sbi = F2FS_SB(mapping->host->i_sb);
-
trace_f2fs_set_page_dirty(page, META);
 
SetPageUptodate(page);
if (!PageDirty(page)) {
__set_page_dirty_nobuffers(page);
-   inc_page_count(sbi, F2FS_DIRTY_META);
+   inc_page_count(F2FS_P_SB(page), F2FS_DIRTY_META);
return 1;
}
return 0;
@@ -619,7 +615,7 @@ fail_no_cp:
 
 static int __add_dirty_inode(struct inode *inode, struct dir_inode_entry *new)
 {
-   struct f2fs_sb_info *sbi = F2FS_SB(inode->i_sb);
+   struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
 
if (is_inode_flag_set(F2FS_I(inode), FI_DIRTY_DIR))
return -EEXIST;
@@ -633,7 +629,7 @@ static int __add_dirty_inode(struct inode *inode, struct 
dir_inode_entry *new)
 
 void set_dirty_dir_page(struct inode *inode, struct page *page)
 {
-   struct f2fs_sb_info *sbi = F2FS_SB(inode->i_sb);
+   struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
struct dir_inode_entry *new;
int ret = 0;
 
@@ -656,7 +652,7 @@ void set_dirty_dir_page(struct inode *inode, struct page 
*page)
 
 void add_dirty_dir_inode(struct inode *inode)
 {
-   struct f2fs_sb_info *sbi = F2FS_SB(inode->i_sb);
+   struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
struct dir_inode_entry *new =
f2fs_kmem_cache_alloc(inode_entry_slab, GFP_NOFS);
int ret = 0;
@@ -674,7 +670,7 @@ void add_dirty_dir_inode(struct inode *inode)
 
 void remove_dirty_dir_inode(struct inode *inode)
 {
-   struct f2fs_sb_info *sbi = F2FS_SB(inode->i_sb);
+   struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
struct dir_inode_entry *entry;
 
if (!S_ISDIR(inode->i_mode))
diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index 76de83e..8eb6fca 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -236,7 +236,7 @@ static void __set_data_blkaddr(struct dnode_of_data *dn, 
block_t new_addr)
 
 int reserve_new_block(struct dnode_of_data *dn)
 {
-   struct f2fs_sb_info *sbi = F2FS_SB(dn->inode->i_sb);
+   struct f2fs_sb_info *sbi = F2FS_I_SB(dn->inode);
 
if (unlikely(is_inode_flag_set(F2FS_I(dn->inode), FI_NO_ALLOC)))
return -EPERM;
@@ -396,7 +396,6 @@ end_update:
 
 struct page *find_data_page(struct inode *inode, pgoff_t index, bool sync)
 {
-   struct f2fs_sb_info *sbi = F2FS_SB(inode->i_sb);
struct address_space *mapping = inode->i_mapping;
struct dnode_of_data dn;
struct page *page;
@@ -429,7 +428,7 @@ struct page *find_data_page(struct inode *inode, pgoff_t 
index, bool sync)
return page;
}
 
-   err = f2fs_submit_page_bio(sbi, page, dn.data_blkaddr,
+   err = f2fs_submit_page_bio(F2FS_I_SB(inode), page, dn.data_blkaddr,
sync ? READ_SYNC : READA);
if (err)
return ERR_PTR(err);
@@ -451,7 +450,6 @@ struct page *find_data_page(struct inode *inode, pgoff_t 
index, bool sync)
  */
 struct page *get_lock_data_page(struct inode *inode, pgoff_t index)
 {
-   struct f2fs_sb_info *sbi = F2FS_SB(inode->i_sb);
struct address_space *mapping = 

[PATCH 1/6] f2fs: introduce F2FS_I_SB, F2FS_M_SB, and F2FS_P_SB

2014-09-02 Thread Jaegeuk Kim
This patch adds three inline functions to clean up dirty casting codes.

Signed-off-by: Jaegeuk Kim jaeg...@kernel.org
---
 fs/f2fs/checkpoint.c | 18 +++---
 fs/f2fs/data.c   | 31 ++-
 fs/f2fs/dir.c| 13 +
 fs/f2fs/f2fs.h   | 23 +++
 fs/f2fs/file.c   | 20 ++--
 fs/f2fs/inline.c | 13 +
 fs/f2fs/inode.c  |  8 
 fs/f2fs/namei.c  | 21 ++---
 fs/f2fs/node.c   | 43 +--
 fs/f2fs/node.h   |  3 +--
 fs/f2fs/recovery.c   |  2 +-
 fs/f2fs/segment.c| 14 ++
 fs/f2fs/segment.h|  2 +-
 fs/f2fs/xattr.c  |  6 +++---
 14 files changed, 103 insertions(+), 114 deletions(-)

diff --git a/fs/f2fs/checkpoint.c b/fs/f2fs/checkpoint.c
index ec3b7a5..cb5cb4c 100644
--- a/fs/f2fs/checkpoint.c
+++ b/fs/f2fs/checkpoint.c
@@ -151,8 +151,7 @@ out:
 static int f2fs_write_meta_page(struct page *page,
struct writeback_control *wbc)
 {
-   struct inode *inode = page-mapping-host;
-   struct f2fs_sb_info *sbi = F2FS_SB(inode-i_sb);
+   struct f2fs_sb_info *sbi = F2FS_P_SB(page);
 
trace_f2fs_writepage(page, META);
 
@@ -177,7 +176,7 @@ redirty_out:
 static int f2fs_write_meta_pages(struct address_space *mapping,
struct writeback_control *wbc)
 {
-   struct f2fs_sb_info *sbi = F2FS_SB(mapping-host-i_sb);
+   struct f2fs_sb_info *sbi = F2FS_M_SB(mapping);
long diff, written;
 
trace_f2fs_writepages(mapping-host, wbc, META);
@@ -259,15 +258,12 @@ continue_unlock:
 
 static int f2fs_set_meta_page_dirty(struct page *page)
 {
-   struct address_space *mapping = page-mapping;
-   struct f2fs_sb_info *sbi = F2FS_SB(mapping-host-i_sb);
-
trace_f2fs_set_page_dirty(page, META);
 
SetPageUptodate(page);
if (!PageDirty(page)) {
__set_page_dirty_nobuffers(page);
-   inc_page_count(sbi, F2FS_DIRTY_META);
+   inc_page_count(F2FS_P_SB(page), F2FS_DIRTY_META);
return 1;
}
return 0;
@@ -619,7 +615,7 @@ fail_no_cp:
 
 static int __add_dirty_inode(struct inode *inode, struct dir_inode_entry *new)
 {
-   struct f2fs_sb_info *sbi = F2FS_SB(inode-i_sb);
+   struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
 
if (is_inode_flag_set(F2FS_I(inode), FI_DIRTY_DIR))
return -EEXIST;
@@ -633,7 +629,7 @@ static int __add_dirty_inode(struct inode *inode, struct 
dir_inode_entry *new)
 
 void set_dirty_dir_page(struct inode *inode, struct page *page)
 {
-   struct f2fs_sb_info *sbi = F2FS_SB(inode-i_sb);
+   struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
struct dir_inode_entry *new;
int ret = 0;
 
@@ -656,7 +652,7 @@ void set_dirty_dir_page(struct inode *inode, struct page 
*page)
 
 void add_dirty_dir_inode(struct inode *inode)
 {
-   struct f2fs_sb_info *sbi = F2FS_SB(inode-i_sb);
+   struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
struct dir_inode_entry *new =
f2fs_kmem_cache_alloc(inode_entry_slab, GFP_NOFS);
int ret = 0;
@@ -674,7 +670,7 @@ void add_dirty_dir_inode(struct inode *inode)
 
 void remove_dirty_dir_inode(struct inode *inode)
 {
-   struct f2fs_sb_info *sbi = F2FS_SB(inode-i_sb);
+   struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
struct dir_inode_entry *entry;
 
if (!S_ISDIR(inode-i_mode))
diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index 76de83e..8eb6fca 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -236,7 +236,7 @@ static void __set_data_blkaddr(struct dnode_of_data *dn, 
block_t new_addr)
 
 int reserve_new_block(struct dnode_of_data *dn)
 {
-   struct f2fs_sb_info *sbi = F2FS_SB(dn-inode-i_sb);
+   struct f2fs_sb_info *sbi = F2FS_I_SB(dn-inode);
 
if (unlikely(is_inode_flag_set(F2FS_I(dn-inode), FI_NO_ALLOC)))
return -EPERM;
@@ -396,7 +396,6 @@ end_update:
 
 struct page *find_data_page(struct inode *inode, pgoff_t index, bool sync)
 {
-   struct f2fs_sb_info *sbi = F2FS_SB(inode-i_sb);
struct address_space *mapping = inode-i_mapping;
struct dnode_of_data dn;
struct page *page;
@@ -429,7 +428,7 @@ struct page *find_data_page(struct inode *inode, pgoff_t 
index, bool sync)
return page;
}
 
-   err = f2fs_submit_page_bio(sbi, page, dn.data_blkaddr,
+   err = f2fs_submit_page_bio(F2FS_I_SB(inode), page, dn.data_blkaddr,
sync ? READ_SYNC : READA);
if (err)
return ERR_PTR(err);
@@ -451,7 +450,6 @@ struct page *find_data_page(struct inode *inode, pgoff_t 
index, bool sync)
  */
 struct page *get_lock_data_page(struct inode *inode, pgoff_t index)
 {
-   struct f2fs_sb_info *sbi = F2FS_SB(inode-i_sb);
struct address_space *mapping =