diff options
Diffstat (limited to 'fs/f2fs/segment.c')
-rw-r--r-- | fs/f2fs/segment.c | 61 |
1 files changed, 25 insertions, 36 deletions
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c index 198b2e68a487..4a6133cc9112 100644 --- a/fs/f2fs/segment.c +++ b/fs/f2fs/segment.c | |||
@@ -1757,8 +1757,7 @@ static int __f2fs_issue_discard_zone(struct f2fs_sb_info *sbi, | |||
1757 | devi = f2fs_target_device_index(sbi, blkstart); | 1757 | devi = f2fs_target_device_index(sbi, blkstart); |
1758 | if (blkstart < FDEV(devi).start_blk || | 1758 | if (blkstart < FDEV(devi).start_blk || |
1759 | blkstart > FDEV(devi).end_blk) { | 1759 | blkstart > FDEV(devi).end_blk) { |
1760 | f2fs_msg(sbi->sb, KERN_ERR, "Invalid block %x", | 1760 | f2fs_err(sbi, "Invalid block %x", blkstart); |
1761 | blkstart); | ||
1762 | return -EIO; | 1761 | return -EIO; |
1763 | } | 1762 | } |
1764 | blkstart -= FDEV(devi).start_blk; | 1763 | blkstart -= FDEV(devi).start_blk; |
@@ -1771,10 +1770,9 @@ static int __f2fs_issue_discard_zone(struct f2fs_sb_info *sbi, | |||
1771 | 1770 | ||
1772 | if (sector & (bdev_zone_sectors(bdev) - 1) || | 1771 | if (sector & (bdev_zone_sectors(bdev) - 1) || |
1773 | nr_sects != bdev_zone_sectors(bdev)) { | 1772 | nr_sects != bdev_zone_sectors(bdev)) { |
1774 | f2fs_msg(sbi->sb, KERN_ERR, | 1773 | f2fs_err(sbi, "(%d) %s: Unaligned zone reset attempted (block %x + %x)", |
1775 | "(%d) %s: Unaligned zone reset attempted (block %x + %x)", | 1774 | devi, sbi->s_ndevs ? FDEV(devi).path : "", |
1776 | devi, sbi->s_ndevs ? FDEV(devi).path: "", | 1775 | blkstart, blklen); |
1777 | blkstart, blklen); | ||
1778 | return -EIO; | 1776 | return -EIO; |
1779 | } | 1777 | } |
1780 | trace_f2fs_issue_reset_zone(bdev, blkstart); | 1778 | trace_f2fs_issue_reset_zone(bdev, blkstart); |
@@ -2138,15 +2136,14 @@ static void update_sit_entry(struct f2fs_sb_info *sbi, block_t blkaddr, int del) | |||
2138 | mir_exist = f2fs_test_and_set_bit(offset, | 2136 | mir_exist = f2fs_test_and_set_bit(offset, |
2139 | se->cur_valid_map_mir); | 2137 | se->cur_valid_map_mir); |
2140 | if (unlikely(exist != mir_exist)) { | 2138 | if (unlikely(exist != mir_exist)) { |
2141 | f2fs_msg(sbi->sb, KERN_ERR, "Inconsistent error " | 2139 | f2fs_err(sbi, "Inconsistent error when setting bitmap, blk:%u, old bit:%d", |
2142 | "when setting bitmap, blk:%u, old bit:%d", | 2140 | blkaddr, exist); |
2143 | blkaddr, exist); | ||
2144 | f2fs_bug_on(sbi, 1); | 2141 | f2fs_bug_on(sbi, 1); |
2145 | } | 2142 | } |
2146 | #endif | 2143 | #endif |
2147 | if (unlikely(exist)) { | 2144 | if (unlikely(exist)) { |
2148 | f2fs_msg(sbi->sb, KERN_ERR, | 2145 | f2fs_err(sbi, "Bitmap was wrongly set, blk:%u", |
2149 | "Bitmap was wrongly set, blk:%u", blkaddr); | 2146 | blkaddr); |
2150 | f2fs_bug_on(sbi, 1); | 2147 | f2fs_bug_on(sbi, 1); |
2151 | se->valid_blocks--; | 2148 | se->valid_blocks--; |
2152 | del = 0; | 2149 | del = 0; |
@@ -2167,15 +2164,14 @@ static void update_sit_entry(struct f2fs_sb_info *sbi, block_t blkaddr, int del) | |||
2167 | mir_exist = f2fs_test_and_clear_bit(offset, | 2164 | mir_exist = f2fs_test_and_clear_bit(offset, |
2168 | se->cur_valid_map_mir); | 2165 | se->cur_valid_map_mir); |
2169 | if (unlikely(exist != mir_exist)) { | 2166 | if (unlikely(exist != mir_exist)) { |
2170 | f2fs_msg(sbi->sb, KERN_ERR, "Inconsistent error " | 2167 | f2fs_err(sbi, "Inconsistent error when clearing bitmap, blk:%u, old bit:%d", |
2171 | "when clearing bitmap, blk:%u, old bit:%d", | 2168 | blkaddr, exist); |
2172 | blkaddr, exist); | ||
2173 | f2fs_bug_on(sbi, 1); | 2169 | f2fs_bug_on(sbi, 1); |
2174 | } | 2170 | } |
2175 | #endif | 2171 | #endif |
2176 | if (unlikely(!exist)) { | 2172 | if (unlikely(!exist)) { |
2177 | f2fs_msg(sbi->sb, KERN_ERR, | 2173 | f2fs_err(sbi, "Bitmap was wrongly cleared, blk:%u", |
2178 | "Bitmap was wrongly cleared, blk:%u", blkaddr); | 2174 | blkaddr); |
2179 | f2fs_bug_on(sbi, 1); | 2175 | f2fs_bug_on(sbi, 1); |
2180 | se->valid_blocks++; | 2176 | se->valid_blocks++; |
2181 | del = 0; | 2177 | del = 0; |
@@ -2683,9 +2679,8 @@ unlock: | |||
2683 | up_write(&SIT_I(sbi)->sentry_lock); | 2679 | up_write(&SIT_I(sbi)->sentry_lock); |
2684 | 2680 | ||
2685 | if (segno != curseg->segno) | 2681 | if (segno != curseg->segno) |
2686 | f2fs_msg(sbi->sb, KERN_NOTICE, | 2682 | f2fs_notice(sbi, "For resize: curseg of type %d: %u ==> %u", |
2687 | "For resize: curseg of type %d: %u ==> %u", | 2683 | type, segno, curseg->segno); |
2688 | type, segno, curseg->segno); | ||
2689 | 2684 | ||
2690 | mutex_unlock(&curseg->curseg_mutex); | 2685 | mutex_unlock(&curseg->curseg_mutex); |
2691 | up_read(&SM_I(sbi)->curseg_lock); | 2686 | up_read(&SM_I(sbi)->curseg_lock); |
@@ -2823,8 +2818,7 @@ int f2fs_trim_fs(struct f2fs_sb_info *sbi, struct fstrim_range *range) | |||
2823 | goto out; | 2818 | goto out; |
2824 | 2819 | ||
2825 | if (is_sbi_flag_set(sbi, SBI_NEED_FSCK)) { | 2820 | if (is_sbi_flag_set(sbi, SBI_NEED_FSCK)) { |
2826 | f2fs_msg(sbi->sb, KERN_WARNING, | 2821 | f2fs_warn(sbi, "Found FS corruption, run fsck to fix."); |
2827 | "Found FS corruption, run fsck to fix."); | ||
2828 | return -EIO; | 2822 | return -EIO; |
2829 | } | 2823 | } |
2830 | 2824 | ||
@@ -3585,9 +3579,8 @@ static int restore_curseg_summaries(struct f2fs_sb_info *sbi) | |||
3585 | /* sanity check for summary blocks */ | 3579 | /* sanity check for summary blocks */ |
3586 | if (nats_in_cursum(nat_j) > NAT_JOURNAL_ENTRIES || | 3580 | if (nats_in_cursum(nat_j) > NAT_JOURNAL_ENTRIES || |
3587 | sits_in_cursum(sit_j) > SIT_JOURNAL_ENTRIES) { | 3581 | sits_in_cursum(sit_j) > SIT_JOURNAL_ENTRIES) { |
3588 | f2fs_msg(sbi->sb, KERN_ERR, | 3582 | f2fs_err(sbi, "invalid journal entries nats %u sits %u\n", |
3589 | "invalid journal entries nats %u sits %u\n", | 3583 | nats_in_cursum(nat_j), sits_in_cursum(sit_j)); |
3590 | nats_in_cursum(nat_j), sits_in_cursum(sit_j)); | ||
3591 | return -EINVAL; | 3584 | return -EINVAL; |
3592 | } | 3585 | } |
3593 | 3586 | ||
@@ -4155,9 +4148,8 @@ static int build_sit_entries(struct f2fs_sb_info *sbi) | |||
4155 | 4148 | ||
4156 | start = le32_to_cpu(segno_in_journal(journal, i)); | 4149 | start = le32_to_cpu(segno_in_journal(journal, i)); |
4157 | if (start >= MAIN_SEGS(sbi)) { | 4150 | if (start >= MAIN_SEGS(sbi)) { |
4158 | f2fs_msg(sbi->sb, KERN_ERR, | 4151 | f2fs_err(sbi, "Wrong journal entry on segno %u", |
4159 | "Wrong journal entry on segno %u", | 4152 | start); |
4160 | start); | ||
4161 | set_sbi_flag(sbi, SBI_NEED_FSCK); | 4153 | set_sbi_flag(sbi, SBI_NEED_FSCK); |
4162 | err = -EINVAL; | 4154 | err = -EINVAL; |
4163 | break; | 4155 | break; |
@@ -4196,9 +4188,8 @@ static int build_sit_entries(struct f2fs_sb_info *sbi) | |||
4196 | up_read(&curseg->journal_rwsem); | 4188 | up_read(&curseg->journal_rwsem); |
4197 | 4189 | ||
4198 | if (!err && total_node_blocks != valid_node_count(sbi)) { | 4190 | if (!err && total_node_blocks != valid_node_count(sbi)) { |
4199 | f2fs_msg(sbi->sb, KERN_ERR, | 4191 | f2fs_err(sbi, "SIT is corrupted node# %u vs %u", |
4200 | "SIT is corrupted node# %u vs %u", | 4192 | total_node_blocks, valid_node_count(sbi)); |
4201 | total_node_blocks, valid_node_count(sbi)); | ||
4202 | set_sbi_flag(sbi, SBI_NEED_FSCK); | 4193 | set_sbi_flag(sbi, SBI_NEED_FSCK); |
4203 | err = -EINVAL; | 4194 | err = -EINVAL; |
4204 | } | 4195 | } |
@@ -4314,12 +4305,10 @@ static int sanity_check_curseg(struct f2fs_sb_info *sbi) | |||
4314 | if (!f2fs_test_bit(blkofs, se->cur_valid_map)) | 4305 | if (!f2fs_test_bit(blkofs, se->cur_valid_map)) |
4315 | continue; | 4306 | continue; |
4316 | out: | 4307 | out: |
4317 | f2fs_msg(sbi->sb, KERN_ERR, | 4308 | f2fs_err(sbi, |
4318 | "Current segment's next free block offset is " | 4309 | "Current segment's next free block offset is inconsistent with bitmap, logtype:%u, segno:%u, type:%u, next_blkoff:%u, blkofs:%u", |
4319 | "inconsistent with bitmap, logtype:%u, " | 4310 | i, curseg->segno, curseg->alloc_type, |
4320 | "segno:%u, type:%u, next_blkoff:%u, blkofs:%u", | 4311 | curseg->next_blkoff, blkofs); |
4321 | i, curseg->segno, curseg->alloc_type, | ||
4322 | curseg->next_blkoff, blkofs); | ||
4323 | return -EINVAL; | 4312 | return -EINVAL; |
4324 | } | 4313 | } |
4325 | } | 4314 | } |