diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2022-12-19 22:24:41 -0500 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2022-12-19 22:24:41 -0500 |
commit | e314b39c63fbfc2522c4b96e4031f9fc8e07e267 (patch) | |
tree | e6091ec2bfbfc5b3903ebfd5dff0357b4c3492fe /libbcachefs/lru.c | |
parent | 177f05106c0d1ac8d75eb8c27397fdd7924d168b (diff) |
Update bcachefs sources to 0939e1c732 fixup! bcachefs: Rework lru btree
Diffstat (limited to 'libbcachefs/lru.c')
-rw-r--r-- | libbcachefs/lru.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/libbcachefs/lru.c b/libbcachefs/lru.c index f7bb2be2..e542cd3d 100644 --- a/libbcachefs/lru.c +++ b/libbcachefs/lru.c @@ -58,7 +58,7 @@ static int __bch2_lru_set(struct btree_trans *trans, u16 lru_id, k->k.p, BTREE_ITER_INTENT); ret = bch2_btree_iter_traverse(&iter) ?: - bch2_btree_delete_at(trans, &iter, 0); + bch2_trans_update(trans, &iter, k, 0); bch2_trans_iter_exit(trans, &iter); return ret; } @@ -111,11 +111,12 @@ static int bch2_check_lru_key(struct btree_trans *trans, a = bch2_alloc_to_v4(k, &a_convert); - if (fsck_err_on(k.k->type != KEY_TYPE_set || + if (fsck_err_on(lru_k.k->type != KEY_TYPE_set || a->data_type != BCH_DATA_cached || - a->io_time[READ] != lru_k.k->p.offset, c, - "incorrect lru entry %s\n" + a->io_time[READ] != lru_pos_time(lru_k.k->p), c, + "incorrect lru entry (time %llu) %s\n" " for %s", + lru_pos_time(lru_k.k->p), (bch2_bkey_val_to_text(&buf1, c, lru_k), buf1.buf), (bch2_bkey_val_to_text(&buf2, c, k), buf2.buf))) { ret = bch2_btree_delete_at(trans, lru_iter, 0); |