summaryrefslogtreecommitdiff
path: root/fs/bcachefs/buckets.c
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2021-05-17 00:28:50 -0400
committerKent Overstreet <kent.overstreet@linux.dev>2023-10-22 17:09:03 -0400
commitbbfcb4519d61cdd83d1f9741e4f8525c0ffa8a8a (patch)
tree36843151318279307bdd62f776e6712a315ddcf7 /fs/bcachefs/buckets.c
parent2e8f9d23cbc75a1d45506186da8c7a5c1605b622 (diff)
downloadlwn-bbfcb4519d61cdd83d1f9741e4f8525c0ffa8a8a.tar.gz
lwn-bbfcb4519d61cdd83d1f9741e4f8525c0ffa8a8a.zip
bcachefs: Fix bch2_extent_can_insert() call
It was being skipped when hole punching, leading to problems when splitting compressed extents. Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Diffstat (limited to 'fs/bcachefs/buckets.c')
-rw-r--r--fs/bcachefs/buckets.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/fs/bcachefs/buckets.c b/fs/bcachefs/buckets.c
index a167e30e1412..afee0594efae 100644
--- a/fs/bcachefs/buckets.c
+++ b/fs/bcachefs/buckets.c
@@ -1270,14 +1270,15 @@ int bch2_mark_update(struct btree_trans *trans,
static noinline __cold
void fs_usage_apply_warn(struct btree_trans *trans,
- unsigned disk_res_sectors)
+ unsigned disk_res_sectors,
+ s64 should_not_have_added)
{
struct bch_fs *c = trans->c;
struct btree_insert_entry *i;
char buf[200];
- bch_err(c, "disk usage increased more than %u sectors reserved",
- disk_res_sectors);
+ bch_err(c, "disk usage increased %lli more than %u sectors reserved",
+ should_not_have_added, disk_res_sectors);
trans_for_each_update(trans, i) {
pr_err("while inserting");
@@ -1309,6 +1310,7 @@ void fs_usage_apply_warn(struct btree_trans *trans,
}
}
}
+ __WARN();
}
void bch2_trans_fs_usage_apply(struct btree_trans *trans,
@@ -1367,7 +1369,7 @@ void bch2_trans_fs_usage_apply(struct btree_trans *trans,
preempt_enable();
if (unlikely(warn) && !xchg(&warned_disk_usage, 1))
- fs_usage_apply_warn(trans, disk_res_sectors);
+ fs_usage_apply_warn(trans, disk_res_sectors, should_not_have_added);
}
/* trans_mark: */