mirror of
https://github.com/rustfs/rustfs.git
synced 2026-07-26 08:18:18 +00:00
2247823200
Drop the [target.'cfg(target_os = "linux")'.dependencies] tokio "io-uring" feature from 6 crates and the rustfs binary. Because .cargo/config.toml enables --cfg tokio_unstable globally, this feature switched every Linux build's file I/O onto tokio's io_uring runtime backend. Restricted Linux environments (Docker default seccomp, gVisor, proot, old kernels) reject io_uring_setup with EACCES/ENOSYS, which tokio surfaced as PermissionDenied and RustFS reported as DiskAccessDenied at startup. Add scripts/check_no_tokio_io_uring.sh so the feature cannot silently return: it fails on any tokio dependency line enabling "io-uring", while still allowing a future application-level io-uring crate dependency. Wire it into make pre-commit/pre-pr/dev-check and CI. Tracking: rustfs/backlog#890 (parent rustfs/backlog#897) Co-authored-by: heihutu <heihutu@gmail.com>
27 lines
1.2 KiB
Makefile
27 lines
1.2 KiB
Makefile
## —— Pre Commit Checks ----------------------------------------------------------------------------
|
|
|
|
.NOTPARALLEL: pre-commit pre-pr dev-check
|
|
|
|
.PHONY: setup-hooks
|
|
setup-hooks: ## Set up git hooks
|
|
@echo "🔧 Setting up git hooks..."
|
|
chmod +x .git/hooks/pre-commit
|
|
@echo "✅ Git hooks setup complete!"
|
|
|
|
.PHONY: doc-paths-check
|
|
doc-paths-check: ## Check that instruction/architecture docs reference existing file paths
|
|
@echo "📄 Checking doc path references..."
|
|
./scripts/check_doc_paths.sh
|
|
|
|
.PHONY: pre-commit
|
|
pre-commit: fmt-check unsafe-code-check architecture-migration-check logging-guardrails-check tokio-io-uring-check doc-paths-check quick-check ## Run fast pre-commit checks without clippy/full tests
|
|
@echo "✅ All pre-commit checks passed!"
|
|
|
|
.PHONY: pre-pr
|
|
pre-pr: fmt-check unsafe-code-check architecture-migration-check logging-guardrails-check tokio-io-uring-check doc-paths-check clippy-check test ## Run full pre-PR checks with clippy and tests
|
|
@echo "✅ All pre-PR checks passed!"
|
|
|
|
.PHONY: dev-check
|
|
dev-check: fmt-check unsafe-code-check architecture-migration-check logging-guardrails-check tokio-io-uring-check doc-paths-check quick-check ## Run fast local development checks
|
|
@echo "✅ Fast development checks passed!"
|