From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <pbs-devel-bounces@lists.proxmox.com> Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id AC4181FF15F for <inbox@lore.proxmox.com>; Mon, 21 Oct 2024 17:47:57 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id A2FAA381CF; Mon, 21 Oct 2024 17:48:35 +0200 (CEST) From: Christian Ebner <c.ebner@proxmox.com> To: pbs-devel@lists.proxmox.com Date: Mon, 21 Oct 2024 17:47:34 +0200 Message-Id: <20241021154744.325556-1-c.ebner@proxmox.com> X-Mailer: git-send-email 2.39.5 MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.028 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 RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_RPBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_SAFE_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pbs-devel] [PATCH v4 proxmox-backup 00/10] fix catalog dump and shell for split pxar archives X-BeenThere: pbs-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Backup Server development discussion <pbs-devel.lists.proxmox.com> List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pbs-devel>, <mailto:pbs-devel-request@lists.proxmox.com?subject=unsubscribe> List-Archive: <http://lists.proxmox.com/pipermail/pbs-devel/> List-Post: <mailto:pbs-devel@lists.proxmox.com> List-Help: <mailto:pbs-devel-request@lists.proxmox.com?subject=help> List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel>, <mailto:pbs-devel-request@lists.proxmox.com?subject=subscribe> Reply-To: Proxmox Backup Server development discussion <pbs-devel@lists.proxmox.com> Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pbs-devel-bounces@lists.proxmox.com Sender: "pbs-devel" <pbs-devel-bounces@lists.proxmox.com> This patch series fixes the `catalog dump` and `catalog shell` commands for snapshots created by setting the `change-detection-mode` to either `data` or `metadata`, therefore using split pxar archive encoding without encoding the dedicated catalog. If no catalog file can be found in the snaphsots manifest, the fallback behaviour is now to check if there are metadata archives present in the manifest, and if so use the metadata archive accessor for either dumping the contents in a format compatible to the catalog dump or to interactively navigate and restore contents via the catalog shell. Changes since version 3 (thanks to Thomas for the comments and suggestions): - Added missing Signed-of-by trailers on path 2 and 9 - Added Suggested-by trailer for suggested code cleanups - Extended commit message for cleanup patches, to clarify their intend - Fixed typos in commit messages - Renamed mentions of submodules to modules to avoid possible confusion with git submodules Changes since version 2 (thanks to Fabian for the comments and suggestions): - Move and factor out helpers to pxar/tools submodule instead of using the tools module, which is for more generally client tools. - Improve error handling in catalog shell by avoiding unwrap of missing directory stack entries, bail instead. - fix issue with factoring out of `entry_path_with_prefix` helper - Convert to `DirEntryAttribute` by implementing the `TryFrom` trait, replacing previous helper. Changes since version 1: - Implement also the `catalog shell` command for split pxar archives - Factor out common functionality into dedicated helpers Christian Ebner (10): client: tools: make tools module public client: pxar: move catalog lookup helper to pxar tools client: tools: move pxar root entry helper to pxar module client: make helper to get remote pxar reader reusable client: tools: factor out entry path prefix helper client: tools: factor out pxar entry to dir entry mapping client: add helper to dump catalog from metadata archive client: catalog: fallback to metadata archives for catalog dump client: helper to mimic catalog find using metadata archive client: catalog shell: fallback to accessor for navigation pbs-client/src/catalog_shell.rs | 291 +++++++++++++++++++++------ pbs-client/src/pxar/extract.rs | 2 +- pbs-client/src/pxar/mod.rs | 4 +- pbs-client/src/pxar/tools.rs | 256 ++++++++++++++++++++++- pbs-client/src/tools/mod.rs | 120 ----------- pbs-datastore/src/catalog.rs | 40 ++++ proxmox-backup-client/src/catalog.rs | 65 +++++- proxmox-file-restore/src/main.rs | 38 +--- pxar-bin/src/main.rs | 4 +- src/api2/admin/datastore.rs | 2 +- src/api2/tape/restore.rs | 2 +- 11 files changed, 599 insertions(+), 225 deletions(-) -- 2.39.5 _______________________________________________ pbs-devel mailing list pbs-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel