summaryrefslogtreecommitdiff
path: root/libbcachefs/lru.c
diff options
context:
space:
mode:
Diffstat (limited to 'libbcachefs/lru.c')
-rw-r--r--libbcachefs/lru.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/libbcachefs/lru.c b/libbcachefs/lru.c
index 5340f2d0..82c08a98 100644
--- a/libbcachefs/lru.c
+++ b/libbcachefs/lru.c
@@ -123,9 +123,11 @@ int bch2_check_lru_key(struct btree_trans *trans,
if (lru_k.k->type != KEY_TYPE_set ||
lru_pos_time(lru_k.k->p) != idx) {
if (!bpos_eq(*last_flushed_pos, lru_k.k->p)) {
- *last_flushed_pos = lru_k.k->p;
- ret = bch2_btree_write_buffer_flush_sync(trans) ?:
- -BCH_ERR_transaction_restart_write_buffer_flush;
+ ret = bch2_btree_write_buffer_flush_sync(trans);
+ if (!ret) {
+ *last_flushed_pos = lru_k.k->p;
+ ret = -BCH_ERR_transaction_restart_write_buffer_flush;
+ }
goto out;
}