Skip to content

Add ext4 component - #288

Draft
dumsum wants to merge 2 commits into
mainfrom
simon/ext4
Draft

Add ext4 component#288
dumsum wants to merge 2 commits into
mainfrom
simon/ext4

Conversation

@dumsum

@dumsum dumsum commented Mar 22, 2026

Copy link
Copy Markdown
Contributor

Ports lwext4 to LionsOS.

  • Implements the FS protocol.
  • Implementation closely follows the fatfs component.
    • opportunity to factor out some common helper libraries (flagging for later)
  • Mostly using default configuration for now.
  • Supports all the core operations: file I/O, directory ops, mount/unmount, etc.
  • Adds journal/recovery.
  • Not implemented for now: symlinks, hard links, file metadata writes (permissions, ownership, timestamps etc.), device nodes
  • Only a single worker thread: lwext4's blockdev lock/unlock API, used to protect some internal state, is unimplemented. Needs more investigation on potential concurrency issues before expanding.

FileIO example has been updated to use an ext4 filesystem by passing FS=ext4 (fat still defaults).

@dumsum
dumsum force-pushed the simon/ext4 branch 2 times, most recently from dce9d92 to 86fc8cc Compare March 24, 2026 00:16
Signed-off-by: dumsum <dumsum@pm.me>
@dumsum
dumsum force-pushed the simon/ext4 branch 2 times, most recently from 30eddee to c7b266b Compare March 25, 2026 01:27
Signed-off-by: dumsum <dumsum@pm.me>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant