Skip to content

docs(design): Windows ReFS reflink via FSCTL_DUPLICATE_EXTENTS (#1389)#3702

Merged
oferchen merged 1 commit into
masterfrom
docs/windows-refs-reflink-1389
May 5, 2026
Merged

docs(design): Windows ReFS reflink via FSCTL_DUPLICATE_EXTENTS (#1389)#3702
oferchen merged 1 commit into
masterfrom
docs/windows-refs-reflink-1389

Conversation

@oferchen
Copy link
Copy Markdown
Owner

@oferchen oferchen commented May 5, 2026

Summary

  • Design note for migrating the Windows ReFS reflink path off raw windows-sys to the workspace-preferred windows-rs crate, with a runtime block-refcounting capability probe, chunked cluster alignment, and a hook for the planned --cow / --no-cow CLI flag (Improve placeholder scanning for panic macros #1826).
  • Replaces the existing PlatformCopy Windows stub (Expose SSH stderr handle for background readers #1139); plugs into the trait at platform_copy_impl without changing public signatures or CopyMethod variants.
  • Wire-protocol-neutral. Receiver-side commit-path optimization only.

Test plan

  • Reviewers confirm the cluster-alignment math (4 KiB / 64 KiB ReFS clusters, 1 GiB chunking under the 4 GiB ioctl cap) matches Microsoft's FSCTL_DUPLICATE_EXTENTS_TO_FILE documentation.
  • Reviewers confirm the recoverable error-code list (ERROR_BLOCK_TOO_MANY_REFERENCES, ERROR_INVALID_PARAMETER, ERROR_NOT_SUPPORTED, ERROR_VIRUS_INFECTED) covers the cases the dispatch chain should soft-fail on.
  • Reviewers confirm the windows-rs feature flags (Win32_Foundation, Win32_Storage_FileSystem, Win32_System_Ioctl, Win32_System_IO) are sufficient and consistent with the workspace's existing usage in Handle cargo-rpm absence before profile validation #1866.
  • Reviewers confirm the CI runner provisioning script (dynamic VHDX, Format-Volume -FileSystem ReFS) is acceptable for the Windows integration job.
  • Pure docs PR; no code or test changes.

Design note for migrating the Windows ReFS reflink path off raw
windows-sys onto the workspace-preferred windows-rs crate, with a
runtime block-refcounting capability probe, chunked alignment
handling, and a hook for the upcoming --cow / --no-cow CLI flag.
Wire-protocol-neutral; replaces the existing PlatformCopy stub.
@github-actions github-actions Bot added the documentation Improvements or additions to documentation label May 5, 2026
@oferchen oferchen merged commit 680119f into master May 5, 2026
8 checks passed
@oferchen oferchen deleted the docs/windows-refs-reflink-1389 branch May 6, 2026 18:57
oferchen added a commit that referenced this pull request May 18, 2026
#3702)

Design note for migrating the Windows ReFS reflink path off raw
windows-sys onto the workspace-preferred windows-rs crate, with a
runtime block-refcounting capability probe, chunked alignment
handling, and a hook for the upcoming --cow / --no-cow CLI flag.
Wire-protocol-neutral; replaces the existing PlatformCopy stub.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant