diff --git a/.bcachefs_revision b/.bcachefs_revision index 7cbba1f9..7ba53131 100644 --- a/.bcachefs_revision +++ b/.bcachefs_revision @@ -1 +1 @@ -202b20c48f6fa96de566d71b6e1a27e0de00d341 +2d5e6ec1447dcd1d56683914140750cef8811eb8 diff --git a/libbcachefs/btree_gc.c b/libbcachefs/btree_gc.c index b04f4705..d027526d 100644 --- a/libbcachefs/btree_gc.c +++ b/libbcachefs/btree_gc.c @@ -1408,6 +1408,13 @@ static int bch2_alloc_write_key(struct btree_trans *trans, a->v = new; + /* + * The trigger normally makes sure this is set, but we're not running + * triggers: + */ + if (a->v.data_type == BCH_DATA_cached && !a->v.io_time[READ]) + a->v.io_time[READ] = max_t(u64, 1, atomic64_read(&c->io_clock[READ].now)); + ret = bch2_trans_update(trans, iter, &a->k_i, BTREE_TRIGGER_NORUN); fsck_err: return ret;