feat(kvflash): pager serialize/deserialize + critical-chunk pinning

Closed
DU
4mo ago
+426-16

What

Snapshot/restore for the KVFlash pager: serialize() / deserialize() with a
fixed-layout header guard (rejects layout drift), plus critical-chunk pinning so
sink/anchor chunks survive eviction (with a deadlock floor that refuses pins that
would starve the eviction pool).

Shape

  • server/src/common/kvflash_pager.h — header-only addition; backend-agnostic.
  • ~310 LOC. Test: test_kvflash_pager.cpp (serde round-trip + header-mismatch
    guard + pin deadlock guard).

Independent of the placement PR; required by the prefill-snapshot PR.