diff options
author | Jaegeuk Kim <jaegeuk.kim@samsung.com> | 2013-12-26 02:30:41 -0500 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk.kim@samsung.com> | 2013-12-26 06:32:48 -0500 |
commit | 58bfaf44df58082c72882b235cae611c975537d4 (patch) | |
tree | ab4a56b2e152ccedab7cdfca92c536a1eb1ddec9 /fs/f2fs/node.c | |
parent | d96b143151a11820ee3eee552554209f2453799e (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.c | 30 |
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 | ||
731 | skip_partial: | 731 | skip_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, | |||
1533 | int recover_inode_page(struct f2fs_sb_info *sbi, struct page *page) | 1533 | int 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; |