From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id C5ECD1FF183 for ; Wed, 2 Jul 2025 18:35:41 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id E60DA34447; Wed, 2 Jul 2025 18:35:47 +0200 (CEST) From: Fiona Ebner To: pve-devel@lists.proxmox.com Date: Wed, 2 Jul 2025 18:27:49 +0200 Message-ID: <20250702162838.393696-17-f.ebner@proxmox.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250702162838.393696-1-f.ebner@proxmox.com> References: <20250702162838.393696-1-f.ebner@proxmox.com> 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 KAM_SHORT 0.001 Use of a URL Shortener for very short URL SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pve-devel] [PATCH storage v5 16/51] plugin api: bump api version and age X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox VE development discussion Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" Introduce qemu_blockdev_options() plugin method. In terms of the plugin API only, adding the qemu_blockdev_options() method is a fully backwards-compatible change. When qemu-server will switch to '-blockdev' however, plugins where the default implemenation is not sufficient, will not be usable for virtual machines anymore. Therefore, this is intended for the next major release, Proxmox VE 9. Signed-off-by: Fiona Ebner --- Changes in v5: * Mention where to find allowed drivers and options and how to request if more are needed. ApiChangeLog | 15 +++++++++++++++ src/PVE/Storage.pm | 4 ++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/ApiChangeLog b/ApiChangeLog index 987da54..9ea7724 100644 --- a/ApiChangeLog +++ b/ApiChangeLog @@ -6,6 +6,21 @@ without breaking anything unaware of it.) Future changes should be documented in here. +## Version 12: + +* Introduce `qemu_blockdev_options()` plugin method + + Proxmox VE will switch to the more modern QEMU command line option `-blockdev` replacing `-drive`. + With `-drive`, it was enough to specify a path, where special protocol paths like `iscsi://` were + also supported. With `-blockdev`, the data is more structured, a driver needs to be specified + alongside the path to an image and each driver supports driver-specific options. Most storage + plugins should be fine using driver `host_device` in case of a block device and `file` in case of + a file and no special options. See the default implemenation of the base plugin for guidance, also + if the plugin uses protocol paths. Implement this this method for Proxmox VE 9. See + `$allowed_qemu_blockdev_options` in `PVE/Storage.pm` for currently allowed drivers and option. + Feel free to request allowing more drivers or options on the pve-devel mailing list based on your + needs. + ## Version 11: * Allow declaring storage features via plugin data diff --git a/src/PVE/Storage.pm b/src/PVE/Storage.pm index 25ce5f2..6e6bdb2 100755 --- a/src/PVE/Storage.pm +++ b/src/PVE/Storage.pm @@ -41,11 +41,11 @@ use PVE::Storage::BTRFSPlugin; use PVE::Storage::ESXiPlugin; # Storage API version. Increment it on changes in storage API interface. -use constant APIVER => 11; +use constant APIVER => 12; # Age is the number of versions we're backward compatible with. # This is like having 'current=APIVER' and age='APIAGE' in libtool, # see https://www.gnu.org/software/libtool/manual/html_node/Libtool-versioning.html -use constant APIAGE => 2; +use constant APIAGE => 3; our $KNOWN_EXPORT_FORMATS = ['raw+size', 'tar+size', 'qcow2+size', 'vmdk+size', 'zfs', 'btrfs']; -- 2.47.2 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel