Conversation
…i-extent reads
This adds basic ext4 support to aboot so it can mount and read modern ext4
filesystems commonly found on Alpha systems.
Key features:
- 64-byte ext4 group descriptor support (using sb.s_desc_size)
- Accept and whitelist common ext4 INCOMPAT/RO_COMPAT flags:
64bit, flex_bg, mmp, csum_seed, metadata_csum
- Implement multi-extent reading for inline extents (eh_depth == 0)
- Clamp reads to i_size to avoid out-of-range extent lookups
With these changes aboot can successfully mount ext4 partitions and load
kernels stored in files using multiple inline extents. Full extent-tree
support (non-zero eh_depth) and full 64-bit block handling remain future
work.
Signed-off-by: Magnus Lindholm <linmag7@gmail.com>
The following patch is a modified version of the patch written by j.j.vanderheijden@home.nl and allows aboot to handle XFS partitions. It has been tested against a Digital Personal Workstation and seems to work just fine. (patch modifications by Mike Hlavac)
debug output. This code does not work at the moment.
Fix two bugs in the XFS directory reader that prevented aboot from
finding files on XFS v4 (crc=0) filesystems:
- Add missing read of the 4-byte DIR2 entry header. Without this,
freetag/length values were uninitialized, causing corrupted
filenames and incorrect directory offsets.
- Skip nameless/invalid entries to avoid returning garbage names.
With these fixes, aboot can reliably load files from classic XFS v4
(naming version 2, no CRC). Modern CRC-enabled (v5) XFS filesystems
remain unsupported.
Signed-off-by: Magnus Lindholm <linmag7@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request adds EXT4 boot support and updates the existing XFS boot
support code. It includes four commits, tagged as:
Summary of changes
descriptor handling.