summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk.kim@samsung.com>2013-03-31 12:59:53 +0900
committerJaegeuk Kim <jaegeuk.kim@samsung.com>2013-04-03 17:27:49 +0900
commit33afa7fde0defbb362328233e600e052d0a22cd5 (patch)
tree839e84c84ad0971aaeb7cbaa9163df98d27a6728 /fs
parent56ae674cc27230ea86ab25db7fcf1f32dfe17ec1 (diff)
downloadop-kernel-dev-33afa7fde0defbb362328233e600e052d0a22cd5.zip
op-kernel-dev-33afa7fde0defbb362328233e600e052d0a22cd5.tar.gz
f2fs: allocate new segment aligned with sections
When allocating a new segment under the LFS mode, we should keep the section boundary. Reviewed-by: Namjae Jeon <namjae.jeon@samsung.com> Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/f2fs/segment.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index 179a13e..b3486f3 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -362,7 +362,8 @@ static void get_new_segment(struct f2fs_sb_info *sbi,
if (!new_sec && ((*newseg + 1) % sbi->segs_per_sec)) {
segno = find_next_zero_bit(free_i->free_segmap,
TOTAL_SEGS(sbi), *newseg + 1);
- if (segno < TOTAL_SEGS(sbi))
+ if (segno - *newseg < sbi->segs_per_sec -
+ (*newseg % sbi->segs_per_sec))
goto got_it;
}
find_other_zone:
OpenPOWER on IntegriCloud