Repository navigation
docs: proposal of journaling - #3
kamil-kielbasa wants to merge 1 commit into
Conversation
|
Thanks for writing this up — the on-flash format and the crash analysis in §5.6/§7 are thorough, and the API split in §8 is something we want regardless. But on the core question: I don't think the journal belongs at the UBI layer, and I don't think we need it there. Linux deliberately doesn't do thisUBI has no journal. Its atomicity primitive is copy-on-write + The journal in that stack lives in UBIFS, one layer up — and it journals the index, not the data. Nodes are written into buds and stay there permanently; commit only rewrites the wandering-tree index to point at them. §1's table states this correctly ("data stays in the journal, commit only updates the index"), but the proposed design does the opposite: records are replayed into their target LEBs and the journal is erased. That's For our client it's cost without benefit
Structurally: The one case that does justify it: secure mode
Concretely
Happy to be wrong on the framing if there's a plain-flash client that genuinely rewrites already-programmed regions — that would change the picture, and it'd be worth naming in §1. Generated by Claude Code |
What changed
New document with proposal of internal mechanism called journaling.
Why
Required logic by higher abstration layers.
How tested
None.
PR Checklist
native_sim./scripts/format.sh[Unreleased]-Werror -Wextra -Wshadow)\brief,\details,\expecteddocblocks(and, where applicable, the optional
\oracle,\trace,\preconditiontags — see Test Strategy)scripts/scan_flash.py)