From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 0C24CBA912 for ; Wed, 20 Mar 2024 15:15:29 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id E68CF10A58 for ; Wed, 20 Mar 2024 15:15:28 +0100 (CET) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS for ; Wed, 20 Mar 2024 15:15:27 +0100 (CET) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 5DC1F407F4 for ; Wed, 20 Mar 2024 15:15:26 +0100 (CET) From: Filip Schauer To: pbs-devel@lists.proxmox.com Date: Wed, 20 Mar 2024 15:15:06 +0100 Message-Id: <20240320141516.213930-1-f.schauer@proxmox.com> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL -0.093 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 T_SCC_BODY_TEXT_LINE -0.01 - URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [proxmox.com] Subject: [pbs-devel] [PATCH v5 vma-to-pbs 00/10] Implement vma-to-pbs tool X-BeenThere: pbs-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Backup Server development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Mar 2024 14:15:29 -0000 Implement a tool to import VMA files into a Proxmox Backup Server Example usage: zstd -d --stdout vzdump.vma.zst | vma-to-pbs \ --repository \ --vmid 123 \ --password_file pbs_password Commit 07/10 requires https://lists.proxmox.com/pipermail/pve-devel/2024-March/062182.html to be applied first. Changes since v4: * Bump proxmox-backup-qemu * Remove unnecessary "extern crate" declarations * Refactor error handling with anyhow * vma.rs: Improve code readability by adding constants and using more descriptive variable/type names. * vma.rs: Move duplicate code into read_string function * Print elapsed time in minutes, seconds and ms * Refactor block device id and size retrieval logic * vma: Document break statement when reaching end of file * Use selected imports instead of glob imports * Split up vma2pbs logic into seperate functions * Makefile: remove reference to unused submodule Changes since v3: * Add the ability to provide credentials via files * Add support for streaming the VMA file via stdin * Add a fallback for the --fingerprint argument Changes since v2: * Use the deb packages from the proxmox-io and proxmox-sys dependencies instead of the proxmox submodule * Remove the proxmox submodule * Update the proxmox-backup-qemu submodule to make it buildable with the newest librust dependencies Changes since v1: * Remove unused crates and uses * Format the code * Use anyhow for error handling * Use clap for parsing arguments instead of getopts * Fix blocks being reindexed on every read * Make sure ProxmoxBackupHandle is dropped properly on error * Move image_chunk_buffer from stack to heap * Move the block_index in VmaReader to the heap completely * Initialize vectors with `Vec::with_capacity` and `resize` instead of the `vec!` macro, to potentially improve performance on debug builds. * Add comments to code filling the MD5 sum field with zeros * Change device_id arguments to usize * Handle devices that have a size that is not aligned to 4096 properly in read_device_contents, when the caller provides a buffer that would exceed the device size. * Avoid unnecessary loop iterations in read_device_contents when the buffer size is not aligned to 65536 Filip Schauer (8): Initial commit Add the ability to provide credentials via files bump proxmox-backup-qemu remove unnecessary "extern crate" declarations add support for streaming the VMA file via stdin add a fallback for the --fingerprint argument refactor error handling with anyhow Makefile: remove reference to unused submodule Wolfgang Bumiller (2): cargo fmt bump proxmox-backup-qemu -- 2.39.2