summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2023-01-05 03:55:23 -0500
committerKent Overstreet <kent.overstreet@linux.dev>2023-01-06 19:48:03 -0500
commitafa8d52c024cf6bc72f482ac2f05c0a2c1791008 (patch)
tree249bbb5f576118ab82e5a615d9af38c21b7d5378
parent17d09c4636f46c646b622101fc51ea2d525ed886 (diff)
bcachefs: Fix promote path leak
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
-rw-r--r--fs/bcachefs/io.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/bcachefs/io.c b/fs/bcachefs/io.c
index 197f3b0eea04..2978ce85f8cf 100644
--- a/fs/bcachefs/io.c
+++ b/fs/bcachefs/io.c
@@ -1862,6 +1862,8 @@ static void promote_free(struct bch_fs *c, struct promote_op *op)
{
int ret;
+ bch2_data_update_exit(&op->write);
+
ret = rhashtable_remove_fast(&c->promote_table, &op->hash,
bch_promote_params);
BUG_ON(ret);
@@ -1877,8 +1879,6 @@ static void promote_done(struct bch_write_op *wop)
bch2_time_stats_update(&c->times[BCH_TIME_data_promote],
op->start_time);
-
- bch2_data_update_exit(&op->write);
promote_free(c, op);
}