Skip to content

Fix platform lookup usage in CLI#1626

Merged
oferchen merged 1 commit into
masterfrom
fix-unused-imports-and-dead-code
Oct 30, 2025
Merged

Fix platform lookup usage in CLI#1626
oferchen merged 1 commit into
masterfrom
fix-unused-imports-and-dead-code

Conversation

@oferchen
Copy link
Copy Markdown
Owner

Summary

  • unify --chown resolution logic across targets so platform helpers are exercised on all builds
  • expose capability checks as functions and reuse them in user/group lookups
  • simplify owner/group name formatting to rely on shared platform accessors

Testing

  • cargo check -p rsync-cli

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

@oferchen oferchen merged commit ebec146 into master Oct 30, 2025
@oferchen oferchen deleted the fix-unused-imports-and-dead-code branch October 30, 2025 01:43
oferchen added a commit that referenced this pull request May 6, 2026
Plan benchmarking regular submit_and_wait vs SQPOLL vs std I/O across
small/large/mid file workloads, the CAP_SYS_NICE privilege matrix
including unprivileged container (#1624), and kernels 5.6 / 5.11 / 5.15
/ 6.0 / 6.6. Cross-references the session ring pool (#1408 / #1409),
PBUF_RING audit (#2043), and registered-buffer adaptive sizing (#2045).
oferchen added a commit that referenced this pull request May 6, 2026
Plan benchmarking regular submit_and_wait vs SQPOLL vs std I/O across
small/large/mid file workloads, the CAP_SYS_NICE privilege matrix
including unprivileged container (#1624), and kernels 5.6 / 5.11 / 5.15
/ 6.0 / 6.6. Cross-references the session ring pool (#1408 / #1409),
PBUF_RING audit (#2043), and registered-buffer adaptive sizing (#2045).
oferchen added a commit that referenced this pull request May 7, 2026
Locks in the workloads, metrics, and pass/fail criteria for comparing
regular submission, SQPOLL, and standard-I/O fallback in fast_io's
io_uring submission path. Captures current default state, kernel-thread
trade-offs, and the privilege/idle-ms axes the benchmark must vary
before any default flip lands.
oferchen added a commit that referenced this pull request May 7, 2026
#3880)

Adds a focused benchmark plan covering submission modes (regular,
SQPOLL, DEFER_TASKRUN) against the standard-I/O baseline, with
workload variants, metrics, and a kernel/CAP-aware default-selection
matrix for the fast_io SubmissionMode selector.
oferchen added a commit that referenced this pull request May 17, 2026
…) (#4201)

* bench(fast_io): io_uring SQPOLL vs regular submission vs std::fs (#1626)

Add a Linux-only Criterion bench that writes 100K x 4 KiB files three
ways - synchronous std::fs::write_all, io_uring with default per-batch
io_uring_enter, and io_uring with IORING_SETUP_SQPOLL - so the receiver
hot path can be evaluated against each dispatch style at a high
submission rate.

The SQPOLL group is gated behind a second env var
(OC_RSYNC_BENCH_IOURING_SQPOLL) on top of the shared
OC_RSYNC_BENCH_IOURING_RING gate because SQPOLL needs CAP_SYS_NICE on
pre-5.13 kernels. Non-Linux targets compile to a stub main so the bench
is safe to register unconditionally. All SQPOLL setup lives inside the
bench file; no new production paths are introduced in fast_io.

* style(fast_io): apply rustfmt to iouring_sqpoll_vs_regular bench

* fix(fast_io): annotate IoUring entry type in sqpoll bench

io_uring 0.7 made IoUring generic over the SQE type. The bench
needed explicit Entry annotation to disambiguate.
oferchen added a commit that referenced this pull request May 18, 2026
Plan benchmarking regular submit_and_wait vs SQPOLL vs std I/O across
small/large/mid file workloads, the CAP_SYS_NICE privilege matrix
including unprivileged container (#1624), and kernels 5.6 / 5.11 / 5.15
/ 6.0 / 6.6. Cross-references the session ring pool (#1408 / #1409),
PBUF_RING audit (#2043), and registered-buffer adaptive sizing (#2045).
oferchen added a commit that referenced this pull request May 18, 2026
Locks in the workloads, metrics, and pass/fail criteria for comparing
regular submission, SQPOLL, and standard-I/O fallback in fast_io's
io_uring submission path. Captures current default state, kernel-thread
trade-offs, and the privilege/idle-ms axes the benchmark must vary
before any default flip lands.
oferchen added a commit that referenced this pull request May 18, 2026
#3880)

Adds a focused benchmark plan covering submission modes (regular,
SQPOLL, DEFER_TASKRUN) against the standard-I/O baseline, with
workload variants, metrics, and a kernel/CAP-aware default-selection
matrix for the fast_io SubmissionMode selector.
oferchen added a commit that referenced this pull request May 18, 2026
…) (#4201)

* bench(fast_io): io_uring SQPOLL vs regular submission vs std::fs (#1626)

Add a Linux-only Criterion bench that writes 100K x 4 KiB files three
ways - synchronous std::fs::write_all, io_uring with default per-batch
io_uring_enter, and io_uring with IORING_SETUP_SQPOLL - so the receiver
hot path can be evaluated against each dispatch style at a high
submission rate.

The SQPOLL group is gated behind a second env var
(OC_RSYNC_BENCH_IOURING_SQPOLL) on top of the shared
OC_RSYNC_BENCH_IOURING_RING gate because SQPOLL needs CAP_SYS_NICE on
pre-5.13 kernels. Non-Linux targets compile to a stub main so the bench
is safe to register unconditionally. All SQPOLL setup lives inside the
bench file; no new production paths are introduced in fast_io.

* style(fast_io): apply rustfmt to iouring_sqpoll_vs_regular bench

* fix(fast_io): annotate IoUring entry type in sqpoll bench

io_uring 0.7 made IoUring generic over the SQE type. The bench
needed explicit Entry annotation to disambiguate.
oferchen added a commit that referenced this pull request May 18, 2026
…) (#4201)

* bench(fast_io): io_uring SQPOLL vs regular submission vs std::fs (#1626)

Add a Linux-only Criterion bench that writes 100K x 4 KiB files three
ways - synchronous std::fs::write_all, io_uring with default per-batch
io_uring_enter, and io_uring with IORING_SETUP_SQPOLL - so the receiver
hot path can be evaluated against each dispatch style at a high
submission rate.

The SQPOLL group is gated behind a second env var
(OC_RSYNC_BENCH_IOURING_SQPOLL) on top of the shared
OC_RSYNC_BENCH_IOURING_RING gate because SQPOLL needs CAP_SYS_NICE on
pre-5.13 kernels. Non-Linux targets compile to a stub main so the bench
is safe to register unconditionally. All SQPOLL setup lives inside the
bench file; no new production paths are introduced in fast_io.

* style(fast_io): apply rustfmt to iouring_sqpoll_vs_regular bench

* fix(fast_io): annotate IoUring entry type in sqpoll bench

io_uring 0.7 made IoUring generic over the SQE type. The bench
needed explicit Entry annotation to disambiguate.
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