aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk.kim@samsung.com>2014-02-03 23:01:10 -0500
committerJaegeuk Kim <jaegeuk.kim@samsung.com>2014-02-17 00:58:52 -0500
commit491c0854b41380f48e422c00ae7e25ae4d02cecc (patch)
treec38f223a14407ecda736da3b9683f7251b4d08bc
parent924a2ddbd0c2829ebca9ac899522cbb16a9b6d8c (diff)
f2fs: clean up with a macro
This patch adds GET_BLKOFF_FROM_SEG0 to clean up some codes. Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
-rw-r--r--fs/f2fs/recovery.c3
-rw-r--r--fs/f2fs/segment.c11
-rw-r--r--fs/f2fs/segment.h3
3 files changed, 8 insertions, 9 deletions
diff --git a/fs/f2fs/recovery.c b/fs/f2fs/recovery.c
index f1b0b8917436..bda04a012909 100644
--- a/fs/f2fs/recovery.c
+++ b/fs/f2fs/recovery.c
@@ -218,8 +218,7 @@ static int check_index_in_prev_nodes(struct f2fs_sb_info *sbi,
218{ 218{
219 struct seg_entry *sentry; 219 struct seg_entry *sentry;
220 unsigned int segno = GET_SEGNO(sbi, blkaddr); 220 unsigned int segno = GET_SEGNO(sbi, blkaddr);
221 unsigned short blkoff = GET_SEGOFF_FROM_SEG0(sbi, blkaddr) & 221 unsigned short blkoff = GET_BLKOFF_FROM_SEG0(sbi, blkaddr);
222 (sbi->blocks_per_seg - 1);
223 struct f2fs_summary sum; 222 struct f2fs_summary sum;
224 nid_t ino, nid; 223 nid_t ino, nid;
225 void *kaddr; 224 void *kaddr;
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index fba510b2f217..e87946a08a21 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -405,7 +405,7 @@ static void update_sit_entry(struct f2fs_sb_info *sbi, block_t blkaddr, int del)
405 405
406 se = get_seg_entry(sbi, segno); 406 se = get_seg_entry(sbi, segno);
407 new_vblocks = se->valid_blocks + del; 407 new_vblocks = se->valid_blocks + del;
408 offset = GET_SEGOFF_FROM_SEG0(sbi, blkaddr) & (sbi->blocks_per_seg - 1); 408 offset = GET_BLKOFF_FROM_SEG0(sbi, blkaddr);
409 409
410 f2fs_bug_on((new_vblocks >> (sizeof(unsigned short) << 3) || 410 f2fs_bug_on((new_vblocks >> (sizeof(unsigned short) << 3) ||
411 (new_vblocks > sbi->blocks_per_seg))); 411 (new_vblocks > sbi->blocks_per_seg)));
@@ -987,8 +987,7 @@ void recover_data_page(struct f2fs_sb_info *sbi,
987 change_curseg(sbi, type, true); 987 change_curseg(sbi, type, true);
988 } 988 }
989 989
990 curseg->next_blkoff = GET_SEGOFF_FROM_SEG0(sbi, new_blkaddr) & 990 curseg->next_blkoff = GET_BLKOFF_FROM_SEG0(sbi, new_blkaddr);
991 (sbi->blocks_per_seg - 1);
992 __add_sum_entry(sbi, type, sum); 991 __add_sum_entry(sbi, type, sum);
993 992
994 refresh_sit_entry(sbi, old_blkaddr, new_blkaddr); 993 refresh_sit_entry(sbi, old_blkaddr, new_blkaddr);
@@ -1026,8 +1025,7 @@ void rewrite_node_page(struct f2fs_sb_info *sbi,
1026 curseg->next_segno = segno; 1025 curseg->next_segno = segno;
1027 change_curseg(sbi, type, true); 1026 change_curseg(sbi, type, true);
1028 } 1027 }
1029 curseg->next_blkoff = GET_SEGOFF_FROM_SEG0(sbi, new_blkaddr) & 1028 curseg->next_blkoff = GET_BLKOFF_FROM_SEG0(sbi, new_blkaddr);
1030 (sbi->blocks_per_seg - 1);
1031 __add_sum_entry(sbi, type, sum); 1029 __add_sum_entry(sbi, type, sum);
1032 1030
1033 /* change the current log to the next block addr in advance */ 1031 /* change the current log to the next block addr in advance */
@@ -1035,8 +1033,7 @@ void rewrite_node_page(struct f2fs_sb_info *sbi,
1035 curseg->next_segno = next_segno; 1033 curseg->next_segno = next_segno;
1036 change_curseg(sbi, type, true); 1034 change_curseg(sbi, type, true);
1037 } 1035 }
1038 curseg->next_blkoff = GET_SEGOFF_FROM_SEG0(sbi, next_blkaddr) & 1036 curseg->next_blkoff = GET_BLKOFF_FROM_SEG0(sbi, next_blkaddr);
1039 (sbi->blocks_per_seg - 1);
1040 1037
1041 /* rewrite node page */ 1038 /* rewrite node page */
1042 set_page_writeback(page); 1039 set_page_writeback(page);
diff --git a/fs/f2fs/segment.h b/fs/f2fs/segment.h
index 5731682d7516..4024546b6361 100644
--- a/fs/f2fs/segment.h
+++ b/fs/f2fs/segment.h
@@ -57,6 +57,9 @@
57 ((blk_addr) - SM_I(sbi)->seg0_blkaddr) 57 ((blk_addr) - SM_I(sbi)->seg0_blkaddr)
58#define GET_SEGNO_FROM_SEG0(sbi, blk_addr) \ 58#define GET_SEGNO_FROM_SEG0(sbi, blk_addr) \
59 (GET_SEGOFF_FROM_SEG0(sbi, blk_addr) >> sbi->log_blocks_per_seg) 59 (GET_SEGOFF_FROM_SEG0(sbi, blk_addr) >> sbi->log_blocks_per_seg)
60#define GET_BLKOFF_FROM_SEG0(sbi, blk_addr) \
61 (GET_SEGOFF_FROM_SEG0(sbi, blk_addr) & (sbi->blocks_per_seg - 1))
62
60#define GET_SEGNO(sbi, blk_addr) \ 63#define GET_SEGNO(sbi, blk_addr) \
61 (((blk_addr == NULL_ADDR) || (blk_addr == NEW_ADDR)) ? \ 64 (((blk_addr == NULL_ADDR) || (blk_addr == NEW_ADDR)) ? \
62 NULL_SEGNO : GET_L2R_SEGNO(FREE_I(sbi), \ 65 NULL_SEGNO : GET_L2R_SEGNO(FREE_I(sbi), \