Skip to content

Restrict CI testing to Linux and fix packaging artifacts#1389

Merged
oferchen merged 1 commit into
masterfrom
prepare-for-production-release-and-optimization
Oct 28, 2025
Merged

Restrict CI testing to Linux and fix packaging artifacts#1389
oferchen merged 1 commit into
masterfrom
prepare-for-production-release-and-optimization

Conversation

@oferchen
Copy link
Copy Markdown
Owner

Summary

  • ensure the CI workflow only executes the test suite on Linux runners
  • retain cross-compilation builds for Linux, macOS, and Windows targets (including 32-bit Windows) while uploading checksum artifacts
  • fix the packaging job to use the oc-rsync-bin crate, and attach the produced packages and binaries

Testing

  • not run (workflow change only)

https://chatgpt.com/codex/tasks/task_e_6900e534279c832387ca93b36a6f890c

@oferchen oferchen merged commit c7d232c into master Oct 28, 2025
@oferchen oferchen deleted the prepare-for-production-release-and-optimization branch October 28, 2025 15:50
oferchen added a commit that referenced this pull request May 5, 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.
oferchen added a commit that referenced this pull request May 7, 2026
…1389) (#3905)

Concise plan for the Windows reflink fast path: where the dispatch
lives, the FSCTL_DUPLICATE_EXTENTS_TO_FILE call shape, ReFS detection
with OnceLock caching, the fallback chain to CopyFileEx and
std::fs::copy, alignment and source-handle risks, and the windows-rs
binding policy keeping fast_io's public API safe.
oferchen added a commit that referenced this pull request May 13, 2026
…1389) (#3997)

* feat(fast_io): add Windows ReFS reflink via FSCTL_DUPLICATE_EXTENTS (#1389)

Add partial-file reflink support via FSCTL_DUPLICATE_EXTENTS_TO_FILE
alongside the existing whole-file reflink. The new
try_refs_reflink_range() accepts source offset, destination offset, and
byte count, enabling block-level CoW clones of file subranges on ReFS.

Extract compute_duplicate_extents_params() to encapsulate cluster
alignment arithmetic, making parameter construction testable without
requiring a ReFS volume. Nine pure-logic tests verify alignment for
various cluster sizes (4KB, 64KB), boundary conditions, and edge cases.

Platform-specific tests validate graceful fallback on NTFS (CI) and
Unsupported on non-Windows. ReFS reflink added to
platform_io_capabilities() output.

* fix: gate ReFS reflink helpers with cfg(windows|test) and use div_ceil

Add #[cfg(any(target_os = "windows", test))] to DuplicateExtentsParams
and compute_duplicate_extents_params so they compile on all platforms
for tests but don't trigger dead_code errors in production builds on
Linux/macOS. Replace manual ((x + n - 1) / n) * n with .div_ceil(n).
oferchen added a commit that referenced this pull request May 17, 2026
Annotate the design note to point at the existing implementation
in fast_io::platform_copy and call out the windows-sys deviation
from the original plan.
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.
oferchen added a commit that referenced this pull request May 18, 2026
…1389) (#3905)

Concise plan for the Windows reflink fast path: where the dispatch
lives, the FSCTL_DUPLICATE_EXTENTS_TO_FILE call shape, ReFS detection
with OnceLock caching, the fallback chain to CopyFileEx and
std::fs::copy, alignment and source-handle risks, and the windows-rs
binding policy keeping fast_io's public API safe.
oferchen added a commit that referenced this pull request May 18, 2026
…1389) (#3997)

* feat(fast_io): add Windows ReFS reflink via FSCTL_DUPLICATE_EXTENTS (#1389)

Add partial-file reflink support via FSCTL_DUPLICATE_EXTENTS_TO_FILE
alongside the existing whole-file reflink. The new
try_refs_reflink_range() accepts source offset, destination offset, and
byte count, enabling block-level CoW clones of file subranges on ReFS.

Extract compute_duplicate_extents_params() to encapsulate cluster
alignment arithmetic, making parameter construction testable without
requiring a ReFS volume. Nine pure-logic tests verify alignment for
various cluster sizes (4KB, 64KB), boundary conditions, and edge cases.

Platform-specific tests validate graceful fallback on NTFS (CI) and
Unsupported on non-Windows. ReFS reflink added to
platform_io_capabilities() output.

* fix: gate ReFS reflink helpers with cfg(windows|test) and use div_ceil

Add #[cfg(any(target_os = "windows", test))] to DuplicateExtentsParams
and compute_duplicate_extents_params so they compile on all platforms
for tests but don't trigger dead_code errors in production builds on
Linux/macOS. Replace manual ((x + n - 1) / n) * n with .div_ceil(n).
oferchen added a commit that referenced this pull request May 18, 2026
Annotate the design note to point at the existing implementation
in fast_io::platform_copy and call out the windows-sys deviation
from the original plan.
oferchen added a commit that referenced this pull request May 18, 2026
Annotate the design note to point at the existing implementation
in fast_io::platform_copy and call out the windows-sys deviation
from the original plan.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant