Rename FABRIC series: FABRIC.md->0, FABRIC-2.md->1, FABRIC-3.md->2, FABRIC-4.md unchanged

FABRIC.md -> FABRIC-0.md
FABRIC-2.md -> FABRIC-1.md
FABRIC-3.md -> FABRIC-2.md (the current/living document)
FABRIC-4.md unchanged (new #3 to follow separately)

Every cross-reference repo-wide updated to match, including doc-comment
citations inside kernel source (.c/.h) files -- done via an ordered
placeholder substitution (FABRIC-3.md->placeholder2, FABRIC-2.md->
placeholder1, FABRIC.md->placeholder0, then placeholders resolved to
final names) in a single pass per file to avoid double-shifting
already-renamed references.

One line in capsules/font.4th grew past the 64-char block-format limit
as a side effect of the longer filename; shortened it and reverified
with mkcapsule --lint (34/34 pass) before rebuilding.

Verified 3-arch boot to ok> (amd64/aarch64/riscv64, each in the
foreground) after the fix; logs and DoE CSVs from this session's
verification runs included per this repo's own audit-artifact
convention.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019YcT3H2PQeyujrzjqS3Var
This commit is contained in:
Robert Allan James
2026-09-04 11:22:51 -04:00
co-authored by Claude Sonnet 5
parent ff2941dfb9
commit b031b802e3
128 changed files with 37154 additions and 9572 deletions
+8 -8
View File
@@ -74,7 +74,7 @@
/* Single-block relocation (Milestone 2h+). One reserved 4 KiB devblock:
* a 4-byte count prefix plus up to BLK_RELOC_MAX_ENTRIES 8-byte
* {home_lbn, actual_lbn} pairs (500*8+4 = 4004 <= 4096). Relocations are
* expected rare, not routine -- see FABRIC-2.md's own design writeup --
* expected rare, not routine -- see FABRIC-1.md's own design writeup --
* so a linear-scanned fixed array is deliberate, matching this file's
* existing tolerance for small bounded scans (DISK_CACHE_SLOTS above,
* BLK_VM_SLOTS in block_words.c are the same shape). */
@@ -193,7 +193,7 @@ static struct {
/* Redirect lbn through the relocation table if it's been moved elsewhere.
* The single choke point every public LBN-consuming entry point below
* calls first -- see FABRIC-2.md's design writeup for why this is an
* calls first -- see FABRIC-1.md's design writeup for why this is an
* LBN->LBN redirect rather than a new storage-allocation mechanism, and
* why it's safe for every downstream function (BAM offset math, cache
* lookup, lbn_to_slot() itself) to stay completely unaware a substitution
@@ -706,7 +706,7 @@ int blk_subsys_attach_device(struct blkio_dev *dev) {
* device becomes the owner. A later-attached second disk-backed
* device (e.g. a USB drive attaching after Artemis's own disk) must
* NOT overwrite the already-loaded table with its own (likely empty)
* one. See FABRIC-2.md's design writeup for why "first attached wins"
* one. See FABRIC-1.md's design writeup for why "first attached wins"
* is a pragmatic default, not a general multi-primary-device answer. */
if (slot->dev && first_disk_slot() == slot) {
(void) reloc_load_from_disk(slot);
@@ -771,7 +771,7 @@ int blk_subsys_detach_device(struct blkio_dev *dev) {
return BLK_OK;
}
/* Milestone 2h+ single-block relocation -- see FABRIC-2.md's design
/* Milestone 2h+ single-block relocation -- see FABRIC-1.md's design
* writeup for the full reasoning. Mechanical primitive only: this
* function does not decide *whether* a relocation should happen (ACL's
* job) or validate that target_lbn is genuinely owned by whoever is
@@ -1136,7 +1136,7 @@ int blk_set_volume_meta(const blk_volume_meta_t *meta) {
return BLK_OK;
}
/* FABRIC-3.md §I.2, 2026-09-04: same dev-pointer slot lookup
/* FABRIC-2.md §I.2, 2026-09-04: same dev-pointer slot lookup
* blk_subsys_detach_device() already does internally, exposed publicly
* for the first time so a caller can scope a scan/query to one specific
* attached device. */
@@ -1276,7 +1276,7 @@ int blk_set_meta(uint32_t block_num, const blk_meta_t *meta) {
return BLK_OK;
}
/* BMAPFMT field accessors -- FABRIC-3.md §H.12 step 14. Thin
/* BMAPFMT field accessors -- FABRIC-2.md §H.12 step 14. Thin
* read-modify-write wrappers over blk_get_meta()/blk_set_meta() above,
* which already own caching/dirty-tracking -- these add no state of
* their own. */
@@ -1355,7 +1355,7 @@ int blk_flags_set(uint32_t block_num, uint64_t flags) {
return blk_set_meta(block_num, &meta);
}
/* FABRIC-3.md §F.11/§I.2, built 2026-09-04. is_lbn_zero() -- BLK_FLAG_
/* FABRIC-2.md §F.11/§I.2, built 2026-09-04. is_lbn_zero() -- BLK_FLAG_
* CLAIMED clear AND owner_fp all-zero is "unowned"; either alone would
* misclassify a claimed-but-not-yet-fp-stamped or fp-stamped-but-
* evicted devblock, neither of which should exist given owner_fp is
@@ -1459,7 +1459,7 @@ int blk_meta_relocate_devblock(uint32_t home_devblock, uint32_t target_devblock)
return blk_set_meta(home_devblock, &home_meta);
}
/* FABRIC-3.md §I.2, 2026-09-04: heat/wear-leveling migration trigger.
/* FABRIC-2.md §I.2, 2026-09-04: heat/wear-leveling migration trigger.
* Uses blk_meta_t.write_count -- already present, already documented
* for exactly this purpose ("Number of writes (wear leveling)"), no new
* cross-subsystem query needed (Stadium's own compudynamics block heat,