diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2023-09-10 16:24:02 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-22 17:10:12 -0400 |
commit | c872afa22420cbbeb8c78656926928b9e2abae18 (patch) | |
tree | 4639e173bb895c6c377c50757cd45dfbfe702903 /fs/bcachefs/btree_update.c | |
parent | 5b7fbdcd5b04b618178d6339e36435997ef6b086 (diff) |
bcachefs: Fix bch2_propagate_key_to_snapshot_leaves()
When we handle a transaction restart in a nested context, we need to
return -BCH_ERR_transaction_restart_nested because we invalidated the
outer context's iterators and locks.
bch2_propagate_key_to_snapshot_leaves() wasn't doing this, this patch
fixes it to use trans_was_restarted().
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/btree_update.c')
-rw-r--r-- | fs/bcachefs/btree_update.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/fs/bcachefs/btree_update.c b/fs/bcachefs/btree_update.c index 880ce7431894..7368e1e00f53 100644 --- a/fs/bcachefs/btree_update.c +++ b/fs/bcachefs/btree_update.c @@ -777,9 +777,7 @@ err: } bch2_trans_iter_exit(trans, &iter); - if (!ret && trans_was_restarted(trans, restart_count)) - ret = -BCH_ERR_transaction_restart_nested; - return ret; + return ret ?: trans_was_restarted(trans, restart_count); } /* |