/// present in the bucket (in which case the bucket may still have
/// been mutated to move @p mv to the front).
///
- /// This is the lock-free, fetch-free core of push_front_hash_addr.
- /// resize_into_mapping() calls it directly to populate the new-size
- /// mapping without dragging in the live mmap's lazy-fetch path (which
- /// would read from the *old* m_fd into the *new* mapping and corrupt
- /// it) or its per-extent locking (single-threaded at startup, no
- /// locking required).
+ /// This is the bare bucket mutation, without the two things
+ /// push_front_hash_addr() wraps around it: the per-extent lock and
+ /// marking the extent dirty. resize_into_mapping() wants neither.
+ /// It runs single-threaded at startup, so there is nothing to lock
+ /// against, and it is filling a mapping it is about to write out
+ /// itself — marking every extent dirty would leave the writeback
+ /// thread to rewrite the whole table it just persisted.
static bool push_front_in_range(Cell *begin, Cell *end, const Cell &mv);
void writeback_loop();