summaryrefslogtreecommitdiff
path: root/libbcachefs/btree_io.c
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2024-10-09 17:00:30 -0400
committerKent Overstreet <kent.overstreet@linux.dev>2024-10-09 17:00:30 -0400
commita9e1597adcbc33fa50a159b04473914c496807a2 (patch)
tree8da7eb52dce997a57752bbeb015bd917fb2ec9de /libbcachefs/btree_io.c
parentf6e4cd2ef7c6ef7c3cf5a730f7ded9c48ccf689d (diff)
Update bcachefs sources to 3b80552e7057 bcachefs: __wait_for_freeing_inode: Switch to wait_bit_queue_entry656-debug
Diffstat (limited to 'libbcachefs/btree_io.c')
-rw-r--r--libbcachefs/btree_io.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libbcachefs/btree_io.c b/libbcachefs/btree_io.c
index 1c1448b5..cf933409 100644
--- a/libbcachefs/btree_io.c
+++ b/libbcachefs/btree_io.c
@@ -1838,10 +1838,11 @@ static void btree_node_write_done(struct bch_fs *c, struct btree *b)
struct btree_trans *trans = bch2_trans_get(c);
btree_node_lock_nopath_nofail(trans, &b->c, SIX_LOCK_read);
- __btree_node_write_done(c, b);
- six_unlock_read(&b->c.lock);
+ /* we don't need transaction context anymore after we got the lock. */
bch2_trans_put(trans);
+ __btree_node_write_done(c, b);
+ six_unlock_read(&b->c.lock);
}
static void btree_node_write_work(struct work_struct *work)