From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id 3FE571FF138 for ; Wed, 18 Feb 2026 11:41:08 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id D8C5619488; Wed, 18 Feb 2026 11:42:07 +0100 (CET) Message-ID: <22bd1d6f-2cbe-4029-90f3-0c7437c416d6@proxmox.com> Date: Wed, 18 Feb 2026 11:41:59 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH pve-cluster 01/14 v2] pmxcfs-rs: add Rust workspace configuration To: Kefu Chai , pve-devel@lists.proxmox.com References: <20260213094119.2379288-1-k.chai@proxmox.com> <20260213094119.2379288-2-k.chai@proxmox.com> Content-Language: en-US From: Samuel Rufinatscha In-Reply-To: <20260213094119.2379288-2-k.chai@proxmox.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.249 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: M722XGG4DYRPLGK3YEGZNTBWL6U3DZUI X-Message-ID-Hash: M722XGG4DYRPLGK3YEGZNTBWL6U3DZUI X-MailFrom: s.rufinatscha@proxmox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox VE development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: 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 > --- > 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 "] > +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"