diff options
| author | Amlal <amlal@nekernel.org> | 2025-05-03 10:55:00 +0200 |
|---|---|---|
| committer | Amlal <amlal@nekernel.org> | 2025-05-03 10:56:53 +0200 |
| commit | 2bc33f1a7ac94e534c266ac1473e89e0f4268225 (patch) | |
| tree | 532558a37afa1be616f367e71bc7351bf2b581ec /docs/tex | |
| parent | b3b4b1ebdcd6adeac914869017c86d892b7a8ced (diff) | |
kernel: HeFS: breaking changes — major refactor of Index Node Directory layout
Why:
- Enables efficient allocation of nested paths like '/boot/pagefile.sys' without pre-creating parent paths manually.
- Reduces disk space waste by avoiding placeholder or stub directories.
- Faster and cleaner: avoids expensive Utf8Char* traversal and comparison at runtime.
- Prepares the filesystem for structural hashing and future journaling.
Signed-off-by: Amlal <amlal@nekernel.org>
Diffstat (limited to 'docs/tex')
| -rw-r--r-- | docs/tex/hefs.tex | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/docs/tex/hefs.tex b/docs/tex/hefs.tex index ba592015..fe0d681b 100644 --- a/docs/tex/hefs.tex +++ b/docs/tex/hefs.tex @@ -42,7 +42,7 @@ HeFS is a high-throughput filesystem designed for NeKernel. It implements a robu \hline \verb|fMagic| & \verb|char[8]| & Filesystem magic (" HeFS") \\ \verb|fVolName| & \verb|Utf8Char[128]| & Volume name \\ -\verb|fVersion| & \verb|UInt32| & Filesystem version (e.g., 0x0101) \\ +\verb|fVersion| & \verb|UInt32| & Filesystem version (e.g., 0x0102) \\ \verb|fBadSectors| & \verb|UInt64| & Number of bad sectors detected \\ \verb|fSectorCount| & \verb|UInt64| & Total sector count \\ \verb|fSectorSize| & \verb|UInt64| & Size of each sector \\ @@ -108,7 +108,7 @@ Directories form a red-black tree. Each node (IND) can hold up to 16 index node \begin{lstlisting}[style=cstyle, caption={HEFS\_INDEX\_NODE\_DIRECTORY}] struct HEFS_INDEX_NODE_DIRECTORY { - Utf8Char fName[256]; // Directory name (not full path) + UInt64 fHashName; // Directory name as hash UInt32 fFlags; UInt16 fKind; UInt32 fEntryCount; @@ -123,7 +123,7 @@ struct HEFS_INDEX_NODE_DIRECTORY { UInt8 fColor; // Red/Black tree color Lba fNext, fPrev, fChild, fParent; - Char fPad[33]; + Char fPad[281]; }; \end{lstlisting} |
