2013-10-18 09:27:21

by Haicheng Li

[permalink] [raw]
Subject: [PATCH 1/2] f2fs: use true and false for boolean value

Signed-off-by: Haicheng Li <[email protected]>
---
fs/f2fs/segment.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index 3b20359..862fef3 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -1277,9 +1277,9 @@ static bool flush_sits_in_journal(struct f2fs_sb_info *sbi)
__mark_sit_entry_dirty(sbi, segno);
}
update_sits_in_cursum(sum, -sits_in_cursum(sum));
- return 1;
+ return true;
}
- return 0;
+ return false;
}

/*
--
1.7.9.5


2013-10-18 09:27:35

by Haicheng Li

[permalink] [raw]
Subject: [PATCH 2/2] f2fs: no need to check other dirty_segmap when the seg has been found

Because one dirty seg can only be mapped to one dirty_type. Otherwise, it's a bug.

Signed-off-by: Haicheng Li <[email protected]>
---
fs/f2fs/segment.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index 862fef3..5ff0524 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -79,9 +79,13 @@ static void __remove_dirty_segment(struct f2fs_sb_info *sbi, unsigned int segno,
enum dirty_type t = DIRTY_HOT_DATA;

/* clear all the bitmaps */
- for (; t <= DIRTY_COLD_NODE; t++)
- if (test_and_clear_bit(segno, dirty_i->dirty_segmap[t]))
+ for (; t <= DIRTY_COLD_NODE; t++) {
+ if (test_and_clear_bit(segno,
+ dirty_i->dirty_segmap[t])) {
dirty_i->nr_dirty[t]--;
+ break;
+ }
+ }

if (get_valid_blocks(sbi, segno, sbi->segs_per_sec) == 0)
clear_bit(GET_SECNO(sbi, segno),
--
1.7.9.5