§H.12 step 13: blk_meta_t flags bit constants
BLK_FLAG_CLAIMED/BLK_FLAG_MIGRATING/BLK_FLAG_STALE (bits 0/1/2), matching the decided §F.4/§H.6 layout. Orthogonal bits, not a mutually-exclusive enum. Verified 3-arch boot to ok> (amd64/aarch64/riscv64). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
edd7effb5a
commit
c19cc07ee3
@@ -199,6 +199,16 @@ typedef struct {
|
||||
_Static_assert(sizeof(blk_volume_meta_t) == 4096,
|
||||
"blk_volume_meta_t must be exactly one 4 KiB devblock");
|
||||
|
||||
/* blk_meta_t.flags bit values -- FABRIC-3.md §F.4/§H.6/§H.12 step 13,
|
||||
* decided 2026-09-02/03. Orthogonal bits, not a mutually-exclusive enum:
|
||||
* a block can be both CLAIMED and MIGRATING at once. Grounded in the only
|
||||
* states §F.4 actually motivated by a real need (MIGSM/UNCLEAN, two
|
||||
* then-currently-blocked graph nodes) plus CLAIMED/STALE, the names
|
||||
* already used loosely in that pass's own prose. 61 bits remain reserved. */
|
||||
#define BLK_FLAG_CLAIMED (1ull << 0) /* owned, per BMAPFMT's owner_fp */
|
||||
#define BLK_FLAG_MIGRATING (1ull << 1) /* mid-migration; serves MIGSM */
|
||||
#define BLK_FLAG_STALE (1ull << 2) /* interrupted flush; serves UNCLEAN */
|
||||
|
||||
/* Per-1 KiB block metadata (packed into top 1 KiB region of each 4 KiB sector). */
|
||||
typedef struct {
|
||||
/* Core integrity (16 bytes) */
|
||||
@@ -210,7 +220,7 @@ typedef struct {
|
||||
uint64_t modified_time; /* Unix timestamp (last write) */
|
||||
|
||||
/* Block status (16 bytes) */
|
||||
uint64_t flags; /* Status flags */
|
||||
uint64_t flags; /* Status flags -- BLK_FLAG_* bits above */
|
||||
uint64_t write_count; /* Number of writes (wear leveling) */
|
||||
|
||||
/* Content identification (32 bytes) */
|
||||
|
||||
Reference in New Issue
Block a user