aboutsummaryrefslogtreecommitdiffstats
path: root/fs/f2fs/node.c
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk.kim@samsung.com>2013-12-26 02:30:41 -0500
committerJaegeuk Kim <jaegeuk.kim@samsung.com>2013-12-26 06:32:48 -0500
commit58bfaf44df58082c72882b235cae611c975537d4 (patch)
treeab4a56b2e152ccedab7cdfca92c536a1eb1ddec9 /fs/f2fs/node.c
parentd96b143151a11820ee3eee552554209f2453799e (diff)
f2fs: introduce F2FS_INODE macro to get f2fs_inode
This patch introduces F2FS_INODE that returns struct f2fs_inode * from the inode page. By using this macro, we can remove unnecessary casting codes like below. struct f2fs_inode *ri = &F2FS_NODE(inode_page)->i; -> struct f2fs_inode *ri = F2FS_INODE(inode_page); Reviewed-by: Chao Yu <chao2.yu@samsung.com> Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
Diffstat (limited to 'fs/f2fs/node.c')
-rw-r--r--fs/f2fs/node.c30
1 files changed, 15 insertions, 15 deletions
diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c
index e8fe52d6073c..9405a17a671e 100644
--- a/fs/f2fs/node.c
+++ b/fs/f2fs/node.c
@@ -684,7 +684,7 @@ int truncate_inode_blocks(struct inode *inode, pgoff_t from)
684 int err = 0, cont = 1; 684 int err = 0, cont = 1;
685 int level, offset[4], noffset[4]; 685 int level, offset[4], noffset[4];
686 unsigned int nofs = 0; 686 unsigned int nofs = 0;
687 struct f2fs_node *rn; 687 struct f2fs_inode *ri;
688 struct dnode_of_data dn; 688 struct dnode_of_data dn;
689 struct page *page; 689 struct page *page;
690 690
@@ -701,7 +701,7 @@ restart:
701 set_new_dnode(&dn, inode, page, NULL, 0); 701 set_new_dnode(&dn, inode, page, NULL, 0);
702 unlock_page(page); 702 unlock_page(page);
703 703
704 rn = F2FS_NODE(page); 704 ri = F2FS_INODE(page);
705 switch (level) { 705 switch (level) {
706 case 0: 706 case 0:
707 case 1: 707 case 1:
@@ -711,7 +711,7 @@ restart:
711 nofs = noffset[1]; 711 nofs = noffset[1];
712 if (!offset[level - 1]) 712 if (!offset[level - 1])
713 goto skip_partial; 713 goto skip_partial;
714 err = truncate_partial_nodes(&dn, &rn->i, offset, level); 714 err = truncate_partial_nodes(&dn, ri, offset, level);
715 if (err < 0 && err != -ENOENT) 715 if (err < 0 && err != -ENOENT)
716 goto fail; 716 goto fail;
717 nofs += 1 + NIDS_PER_BLOCK; 717 nofs += 1 + NIDS_PER_BLOCK;
@@ -720,7 +720,7 @@ restart:
720 nofs = 5 + 2 * NIDS_PER_BLOCK; 720 nofs = 5 + 2 * NIDS_PER_BLOCK;
721 if (!offset[level - 1]) 721 if (!offset[level - 1])
722 goto skip_partial; 722 goto skip_partial;
723 err = truncate_partial_nodes(&dn, &rn->i, offset, level); 723 err = truncate_partial_nodes(&dn, ri, offset, level);
724 if (err < 0 && err != -ENOENT) 724 if (err < 0 && err != -ENOENT)
725 goto fail; 725 goto fail;
726 break; 726 break;
@@ -730,7 +730,7 @@ restart:
730 730
731skip_partial: 731skip_partial:
732 while (cont) { 732 while (cont) {
733 dn.nid = le32_to_cpu(rn->i.i_nid[offset[0] - NODE_DIR1_BLOCK]); 733 dn.nid = le32_to_cpu(ri->i_nid[offset[0] - NODE_DIR1_BLOCK]);
734 switch (offset[0]) { 734 switch (offset[0]) {
735 case NODE_DIR1_BLOCK: 735 case NODE_DIR1_BLOCK:
736 case NODE_DIR2_BLOCK: 736 case NODE_DIR2_BLOCK:
@@ -753,14 +753,14 @@ skip_partial:
753 if (err < 0 && err != -ENOENT) 753 if (err < 0 && err != -ENOENT)
754 goto fail; 754 goto fail;
755 if (offset[1] == 0 && 755 if (offset[1] == 0 &&
756 rn->i.i_nid[offset[0] - NODE_DIR1_BLOCK]) { 756 ri->i_nid[offset[0] - NODE_DIR1_BLOCK]) {
757 lock_page(page); 757 lock_page(page);
758 if (unlikely(page->mapping != node_mapping)) { 758 if (unlikely(page->mapping != node_mapping)) {
759 f2fs_put_page(page, 1); 759 f2fs_put_page(page, 1);
760 goto restart; 760 goto restart;
761 } 761 }
762 wait_on_page_writeback(page); 762 wait_on_page_writeback(page);
763 rn->i.i_nid[offset[0] - NODE_DIR1_BLOCK] = 0; 763 ri->i_nid[offset[0] - NODE_DIR1_BLOCK] = 0;
764 set_page_dirty(page); 764 set_page_dirty(page);
765 unlock_page(page); 765 unlock_page(page);
766 } 766 }
@@ -1533,7 +1533,7 @@ void recover_node_page(struct f2fs_sb_info *sbi, struct page *page,
1533int recover_inode_page(struct f2fs_sb_info *sbi, struct page *page) 1533int recover_inode_page(struct f2fs_sb_info *sbi, struct page *page)
1534{ 1534{
1535 struct address_space *mapping = sbi->node_inode->i_mapping; 1535 struct address_space *mapping = sbi->node_inode->i_mapping;
1536 struct f2fs_node *src, *dst; 1536 struct f2fs_inode *src, *dst;
1537 nid_t ino = ino_of_node(page); 1537 nid_t ino = ino_of_node(page);
1538 struct node_info old_ni, new_ni; 1538 struct node_info old_ni, new_ni;
1539 struct page *ipage; 1539 struct page *ipage;
@@ -1549,14 +1549,14 @@ int recover_inode_page(struct f2fs_sb_info *sbi, struct page *page)
1549 SetPageUptodate(ipage); 1549 SetPageUptodate(ipage);
1550 fill_node_footer(ipage, ino, ino, 0, true); 1550 fill_node_footer(ipage, ino, ino, 0, true);
1551 1551
1552 src = F2FS_NODE(page); 1552 src = F2FS_INODE(page);
1553 dst = F2FS_NODE(ipage); 1553 dst = F2FS_INODE(ipage);
1554 1554
1555 memcpy(dst, src, (unsigned long)&src->i.i_ext - (unsigned long)&src->i); 1555 memcpy(dst, src, (unsigned long)&src->i_ext - (unsigned long)src);
1556 dst->i.i_size = 0; 1556 dst->i_size = 0;
1557 dst->i.i_blocks = cpu_to_le64(1); 1557 dst->i_blocks = cpu_to_le64(1);
1558 dst->i.i_links = cpu_to_le32(1); 1558 dst->i_links = cpu_to_le32(1);
1559 dst->i.i_xattr_nid = 0; 1559 dst->i_xattr_nid = 0;
1560 1560
1561 new_ni = old_ni; 1561 new_ni = old_ni;
1562 new_ni.ino = ino; 1562 new_ni.ino = ino;