|
@@ -833,6 +833,7 @@ static void __punch_discard_cmd(struct f2fs_sb_info *sbi,
|
|
|
if (blkaddr > di.lstart) {
|
|
|
dc->len = blkaddr - dc->lstart;
|
|
|
__relocate_discard_cmd(dcc, dc);
|
|
|
+ f2fs_bug_on(sbi, !__check_rb_tree_consistence(sbi, &dcc->root));
|
|
|
modified = true;
|
|
|
}
|
|
|
|
|
@@ -842,11 +843,15 @@ static void __punch_discard_cmd(struct f2fs_sb_info *sbi,
|
|
|
di.start + blkaddr + 1 - di.lstart,
|
|
|
di.lstart + di.len - 1 - blkaddr,
|
|
|
NULL, NULL);
|
|
|
+ f2fs_bug_on(sbi,
|
|
|
+ !__check_rb_tree_consistence(sbi, &dcc->root));
|
|
|
} else {
|
|
|
dc->lstart++;
|
|
|
dc->len--;
|
|
|
dc->start++;
|
|
|
__relocate_discard_cmd(dcc, dc);
|
|
|
+ f2fs_bug_on(sbi,
|
|
|
+ !__check_rb_tree_consistence(sbi, &dcc->root));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -906,6 +911,8 @@ static void __update_discard_tree_range(struct f2fs_sb_info *sbi,
|
|
|
__is_discard_back_mergeable(&di, &prev_dc->di)) {
|
|
|
prev_dc->di.len += di.len;
|
|
|
__relocate_discard_cmd(dcc, prev_dc);
|
|
|
+ f2fs_bug_on(sbi,
|
|
|
+ !__check_rb_tree_consistence(sbi, &dcc->root));
|
|
|
di = prev_dc->di;
|
|
|
tdc = prev_dc;
|
|
|
merged = true;
|
|
@@ -920,13 +927,17 @@ static void __update_discard_tree_range(struct f2fs_sb_info *sbi,
|
|
|
__relocate_discard_cmd(dcc, next_dc);
|
|
|
if (tdc)
|
|
|
__remove_discard_cmd(sbi, tdc);
|
|
|
-
|
|
|
+ f2fs_bug_on(sbi,
|
|
|
+ !__check_rb_tree_consistence(sbi, &dcc->root));
|
|
|
merged = true;
|
|
|
}
|
|
|
|
|
|
- if (!merged)
|
|
|
+ if (!merged) {
|
|
|
__insert_discard_tree(sbi, bdev, di.lstart, di.start,
|
|
|
di.len, NULL, NULL);
|
|
|
+ f2fs_bug_on(sbi,
|
|
|
+ !__check_rb_tree_consistence(sbi, &dcc->root));
|
|
|
+ }
|
|
|
next:
|
|
|
prev_dc = next_dc;
|
|
|
if (!prev_dc)
|