Restore macOS immutable file-flag support with a minimal Java 25 FFM handler - #2
Draft
HannesWell with Copilot wants to merge 26 commits into
Draft
HannesWell with Copilot wants to merge 26 commits into
HannesWell with Copilot wants to merge 26 commits into
Conversation
Co-authored-by: HannesWell <44067969+HannesWell@users.noreply.github.com>
Co-authored-by: HannesWell <44067969+HannesWell@users.noreply.github.com>
Co-authored-by: HannesWell <44067969+HannesWell@users.noreply.github.com>
Co-authored-by: HannesWell <44067969+HannesWell@users.noreply.github.com>
Co-authored-by: HannesWell <44067969+HannesWell@users.noreply.github.com>
Co-authored-by: HannesWell <44067969+HannesWell@users.noreply.github.com>
Co-authored-by: HannesWell <44067969+HannesWell@users.noreply.github.com>
Co-authored-by: HannesWell <44067969+HannesWell@users.noreply.github.com>
Co-authored-by: HannesWell <44067969+HannesWell@users.noreply.github.com>
Co-authored-by: HannesWell <44067969+HannesWell@users.noreply.github.com>
Co-authored-by: HannesWell <44067969+HannesWell@users.noreply.github.com>
Co-authored-by: HannesWell <44067969+HannesWell@users.noreply.github.com>
Co-authored-by: HannesWell <44067969+HannesWell@users.noreply.github.com>
Co-authored-by: HannesWell <44067969+HannesWell@users.noreply.github.com>
Co-authored-by: HannesWell <44067969+HannesWell@users.noreply.github.com>
Co-authored-by: HannesWell <44067969+HannesWell@users.noreply.github.com>
Co-authored-by: HannesWell <44067969+HannesWell@users.noreply.github.com>
Co-authored-by: HannesWell <44067969+HannesWell@users.noreply.github.com>
Co-authored-by: HannesWell <44067969+HannesWell@users.noreply.github.com>
Co-authored-by: HannesWell <44067969+HannesWell@users.noreply.github.com>
Co-authored-by: HannesWell <44067969+HannesWell@users.noreply.github.com>
Co-authored-by: HannesWell <44067969+HannesWell@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Implement Java 25 FFM helper for EFS.ATTRIBUTE_IMMUTABLE
Restore macOS immutable file-flag support with a minimal Java 25 FFM handler
Sep 20, 2026
Co-authored-by: HannesWell <44067969+HannesWell@users.noreply.github.com>
Co-authored-by: HannesWell <44067969+HannesWell@users.noreply.github.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.
PR eclipse-platform#2925 moved macOS local-file metadata updates to
PosixHandler, which preserved POSIX permissions but dropped BSDst_flagshandling. That regressedEFS.ATTRIBUTE_IMMUTABLEon macOS, soATTRIBUTE_READ_ONLYno longer round-tripped through cache copies as expected by the existing resources tests.What changes on macOS
PosixHandlerand restores only the missing BSD file-flag behavior.EFS.ATTRIBUTE_IMMUTABLEonly when the macOS FFM path is available.FFM-based BSD flag access
MacFileFlags, a Java 25 FFM helper that calls macOS libc directly.lstatto readst_flagswithout following symlinks.chflagsto update flags while preserving unrelated bits.UF_IMMUTABLEandSF_IMMUTABLEas immutable when fetching attributes.UF_IMMUTABLEbit on write.Attribute update ordering
PosixHandler,Handler selection
LocalFileNativesManagerto select the macOS immutable-aware handler only for macOS POSIX filesystems where the FFM bindings are usable.Focused regression coverage
TestBug323833’s small-file and large-file cache-path assertions intact.Bug_329836.Why NIO alone is not enough
st_flags.