Add support for XFS bigtime (fixes #12)#13
Open
robbgatica wants to merge 1 commit intolibyal:mainfrom
Open
Conversation
Member
|
Thanks for the proposed changes I'll take a look at soon at time permits, note that this would require tests and test data as well before this code is ready to be merged |
Author
|
No problem at all, I'll keep any eye out for any comments/corrections in the meantime. Thanks! |
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.
Summary
Implements support for the XFS bigtime feature, which extends timestamp range from 2038 to 2486+ using 64-bit nanosecond counters.
Changes
This PR adds bigtime feature detection and timestamp parsing for XFS filesystems:
Modified Files (8 files):
libfsxfs/fsxfs_superblock.h- Added v5 feature fields to on-disk structurelibfsxfs/libfsxfs_superblock.h- Added features_incompat to internal structurelibfsxfs/libfsxfs_superblock.c- Read features_incompat from v5 superblockslibfsxfs/libfsxfs_io_handle.h- Added features_incompat fieldlibfsxfs/libfsxfs_volume.c- Copy features_incompat to io_handlelibfsxfs/libfsxfs_definitions.h.in- Added LIBFSXFS_INCOMPAT_FEATURE_FLAG_BIGTIMElibfsxfs/libfsxfs_inode.h- Updated libfsxfs_inode_read_data() signaturelibfsxfs/libfsxfs_inode.c- Implemented bigtime detection and conversionImplementation Details
features_incompatfield (bit 0x08) in v5 superblocksTesting
Verified with:
Resolves
References