Skip to content

Tier-S: crash-consistency frontier B — POSIX 2024 edges (sub-second mtime, copy_file_range, FICLONE) #63

Description

@hyperpolymath

Follow-up to PR #62 (crash-consistency keystone). See docs/THEORY-CRASH-CONSISTENCY.adoc § Frontier B and docs/POSIX-2024-NOTES.md.

Three classes the current model does not cover

  1. Sub-second mtime (struct timespec in stat). Crash between mtime write and data write can leave mtime ahead of data. Keystone model has no clock; needs (Filesystem, Clock) pair.
  2. copy_file_range(2). Linux: reflink branch (atomic) vs fallback loop (non-atomic per-chunk). Modelling must expose the distinction.
  3. ioctl(FICLONE) / FICLONERANGE. Reflink semantics — two-filesystem transition (source + destination), source unaffected.

Proposed approach

Extend the Op inductive with clone, copy_range, touch_mtime. Extend Filesystem to { tree : Path → Option FSNode, clock : Time }. Re-prove the keystone for each constructor.

Tier: S (Foundational gap, POSIX-2024-conformance critical).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    testingTests, benchmarks, fuzzing, property checks, coverage

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions