Thanks for the patch!

I think it’d be better to merge this with the next patch that adds the
first workspace member, since otherwise cargo build doesn’t work yet.

Also, could you please additionally add a rustfmt.toml so formatting is
consistent across repos? And a small inline comment below:

On 2/13/26 10:41 AM, Kefu Chai wrote:
Initialize the Rust workspace for the pmxcfs rewrite project.

Signed-off-by: Kefu Chai <[email protected]>
---
  src/pmxcfs-rs/.gitignore |  3 +++
  src/pmxcfs-rs/Cargo.toml | 31 +++++++++++++++++++++++++++++++
  src/pmxcfs-rs/Makefile   | 39 +++++++++++++++++++++++++++++++++++++++
  3 files changed, 73 insertions(+)
  create mode 100644 src/pmxcfs-rs/.gitignore
  create mode 100644 src/pmxcfs-rs/Cargo.toml
  create mode 100644 src/pmxcfs-rs/Makefile

diff --git a/src/pmxcfs-rs/.gitignore b/src/pmxcfs-rs/.gitignore
new file mode 100644
index 000000000..f2e56d3f7
--- /dev/null
+++ b/src/pmxcfs-rs/.gitignore
@@ -0,0 +1,3 @@
+/target

this entry should not be needed as it’s covered by target/ below

+Cargo.lock
+target/
diff --git a/src/pmxcfs-rs/Cargo.toml b/src/pmxcfs-rs/Cargo.toml
new file mode 100644
index 000000000..d109221fb
--- /dev/null
+++ b/src/pmxcfs-rs/Cargo.toml
@@ -0,0 +1,31 @@
+# Workspace root for pmxcfs Rust implementation
+[workspace]
+members = [
+]
+resolver = "2"
+
+[workspace.package]
+version = "9.0.6"
+edition = "2024"
+authors = ["Proxmox Support Team <[email protected]>"]
+license = "AGPL-3.0"
+repository = "https://git.proxmox.com/?p=pve-cluster.git";
+rust-version = "1.85"
+
+[workspace.dependencies]
+# Dependencies will be added incrementally as crates are introduced
+
+[workspace.lints.clippy]
+uninlined_format_args = "warn"
+
+[profile.release]
+lto = true
+codegen-units = 1
+opt-level = 3
+strip = true
+
+[profile.dev]
+opt-level = 1
+debug = true
+
+[patch.crates-io]
diff --git a/src/pmxcfs-rs/Makefile b/src/pmxcfs-rs/Makefile
new file mode 100644
index 000000000..eaa96317f
--- /dev/null
+++ b/src/pmxcfs-rs/Makefile
@@ -0,0 +1,39 @@
+.PHONY: all test lint clippy fmt check build clean help
+
+# Default target
+all: check build
+
+# Run all tests
+test:
+       cargo test --workspace
+
+# Lint with clippy (using proxmox-backup style: only fail on correctness 
issues)
+clippy:
+       cargo clippy --workspace -- -A clippy::all -D clippy::correctness
+
+# Check code formatting
+fmt:
+       cargo fmt --all --check
+
+# Full quality check (format + lint + test)
+check: fmt clippy test
+
+# Build release version
+build:
+       cargo build --workspace --release
+
+# Clean build artifacts
+clean:
+       cargo clean
+
+# Show available targets
+help:
+       @echo "Available targets:"
+       @echo "  all      - Run check and build (default)"
+       @echo "  test     - Run all tests"
+       @echo "  clippy   - Run clippy linter"
+       @echo "  fmt      - Check code formatting"
+       @echo "  check    - Run fmt + clippy + test"
+       @echo "  build    - Build release version"
+       @echo "  clean    - Clean build artifacts"
+       @echo "  help     - Show this help message"




Reply via email to