Skip to content

Align branding references in entry point docs#1833

Merged
oferchen merged 1 commit into
masterfrom
establish-rsync-3.4.1-rust-implementation-oef1rn
Nov 1, 2025
Merged

Align branding references in entry point docs#1833
oferchen merged 1 commit into
masterfrom
establish-rsync-3.4.1-rust-implementation-oef1rn

Conversation

@oferchen
Copy link
Copy Markdown
Owner

@oferchen oferchen commented Nov 1, 2025

Summary

  • update the client wrapper documentation to reference the shared branding constants
  • document the daemon wrapper using the same metadata-driven terminology for both binary names

Testing

  • not run (docs only)

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

@oferchen oferchen merged commit 7e3d648 into master Nov 1, 2025
@oferchen oferchen deleted the establish-rsync-3.4.1-rust-implementation-oef1rn branch November 1, 2025 01:28
oferchen added a commit that referenced this pull request May 13, 2026
…y stat (#1833) (#4001)

* feat(fast_io): add IORING_OP_STATX batch chains for parallel directory stat (#1833)

Add io_uring IORING_OP_STATX opcode wrapper following the existing
RENAMEAT2/LINKAT pattern. Key additions:

- statx_supported(): OnceLock-cached kernel probe via IORING_REGISTER_PROBE
- build_statx_sqe() / build_statx_sqe_unchecked(): SQE construction
- submit_statx_blocking(): single-path synchronous wrapper
- submit_statx_batch(): multi-path batch submission with chunked SQ
  processing and automatic fallback to rustix::fs::statx on kernels < 5.11
- try_statx_batch_via_io_uring(): top-level convenience dispatch in lib.rs
- Non-Linux stub in io_uring_stub.rs returning Unsupported
- 18 tests covering opcode constants, probe idempotency, blocking/batch
  submission, error handling, order preservation, and symlink semantics

* fix: correct io_uring STATX build errors on CI

- Use iterator-based init for Vec<Option<io::Error>> (not Clone)
- Pass flags as i32 directly to Statx opcode (not u32 cast)
- Remove .bits() on rustix Statx fields that are plain u32

* fix: use byte-level statx conversion to handle rustix type differences

Replace field-by-field rustix_statx_to_libc conversion with a
ptr::read cast. The rustix crate exposes some statx fields as newtype
wrappers (StatxAttributes) or plain integers depending on backend
feature configuration, causing type mismatches under --all-features.
Both types are layout-identical repr(C) representations of the kernel
struct statx, verified by const size/alignment assertions.

Also fix .flags() i32 type mismatch in build_statx_sqe_unchecked.

* style: fix cargo fmt formatting for const assertions

* fix: use &mut StatxArgs for mutable statx_buf access in SQE builders

* fix: scope StatxArgs block to avoid clippy drop_non_drop lint

* fix: cast stx_mode to u32 before bitwise AND with libc mode constants

libc::S_IFMT, S_IFREG, and S_IFLNK are u32 (mode_t) but
statx.stx_mode is u16. Use u32::from() for type-safe widening.

* fix: cast remaining stx_mode to u32 in submit_statx_batch test
oferchen added a commit that referenced this pull request May 18, 2026
…y stat (#1833) (#4001)

* feat(fast_io): add IORING_OP_STATX batch chains for parallel directory stat (#1833)

Add io_uring IORING_OP_STATX opcode wrapper following the existing
RENAMEAT2/LINKAT pattern. Key additions:

- statx_supported(): OnceLock-cached kernel probe via IORING_REGISTER_PROBE
- build_statx_sqe() / build_statx_sqe_unchecked(): SQE construction
- submit_statx_blocking(): single-path synchronous wrapper
- submit_statx_batch(): multi-path batch submission with chunked SQ
  processing and automatic fallback to rustix::fs::statx on kernels < 5.11
- try_statx_batch_via_io_uring(): top-level convenience dispatch in lib.rs
- Non-Linux stub in io_uring_stub.rs returning Unsupported
- 18 tests covering opcode constants, probe idempotency, blocking/batch
  submission, error handling, order preservation, and symlink semantics

* fix: correct io_uring STATX build errors on CI

- Use iterator-based init for Vec<Option<io::Error>> (not Clone)
- Pass flags as i32 directly to Statx opcode (not u32 cast)
- Remove .bits() on rustix Statx fields that are plain u32

* fix: use byte-level statx conversion to handle rustix type differences

Replace field-by-field rustix_statx_to_libc conversion with a
ptr::read cast. The rustix crate exposes some statx fields as newtype
wrappers (StatxAttributes) or plain integers depending on backend
feature configuration, causing type mismatches under --all-features.
Both types are layout-identical repr(C) representations of the kernel
struct statx, verified by const size/alignment assertions.

Also fix .flags() i32 type mismatch in build_statx_sqe_unchecked.

* style: fix cargo fmt formatting for const assertions

* fix: use &mut StatxArgs for mutable statx_buf access in SQE builders

* fix: scope StatxArgs block to avoid clippy drop_non_drop lint

* fix: cast stx_mode to u32 before bitwise AND with libc mode constants

libc::S_IFMT, S_IFREG, and S_IFLNK are u32 (mode_t) but
statx.stx_mode is u16. Use u32::from() for type-safe widening.

* fix: cast remaining stx_mode to u32 in submit_statx_batch test
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