From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate001.proxmox.com (gate001.proxmox.com [IPv6:2a0f:8001:1:32::40]) by lore.proxmox.com (Postfix) with ESMTPS id 974F21FF0EF for ; Sun, 02 Aug 2026 05:33:51 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id C38E0214AF; Sun, 02 Aug 2026 05:33:03 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=neatech-ar.20251104.gappssmtp.com; s=20251104; t=1785641568; x=1786246368; darn=lists.proxmox.com; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=8U8qnZ1U9oTkOpVXznIMj2iXF9Bxsuc9jdZcoLYHQMs=; b=yynzuJiK/YZy6yointsAXE4lk2UtSg9szDb/FU27lK+FTo4mSZmvoNVJ7/+Z1zYvX2 +rU9/HEyqmpG0eEhCcXedjUvJUGPHWvDtQ1qufdAKs9wnruG9h+Y216bXI6H2zGUcCmw IgSAyhwZAOBfHOtu+1yxPHC07IPdlpvBWxLvt4fw3FpdxweEgm0kxaaB/LjH7bXePcgW leFriA5Pb8nscm7l5AsvFUSG16SNGrBVDX5vEPKnzg99Rg82tHY8xZUjfTB+wxF8Q4Lm ZQcyBYMHwcsDP7emSMCxtpDbsF+rfGe63vcO/3uBzmik9n6phF5N5mGhReBdijPMGeLI Okiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785641568; x=1786246368; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=8U8qnZ1U9oTkOpVXznIMj2iXF9Bxsuc9jdZcoLYHQMs=; b=KBVh8EFJ5l/lf0DX7xMT5+GIHl9vDQLKL27PYsiCjnHrN28TnRracoVW3cFVA4+hjh F22k453nmXJ+8E/vR0cDhEDxRtzNJr3F4VWVDpPPF2Ji8fhe/LvVJrzRN/rLZC/bA0v/ Xs+O87bstITn0CoGOrBmfzx2gfWPn1ROTiH3uZ2b1iBGXfLFzy1LlSkCx2XgIncDzb08 hQG/BuCJp6H5YA+YtXTB9i2eX6TD7MIgSIrysng5lHe8uv8xOrPeAqj/fjnXyN1Uyr5Q pxpLlRTCP4Qga4MUpNYCZ2Uc4DLKWpUdXzC4WA2NhTFdfUjtHSRiYxM0kM5gutTcODUg DlyA== X-Gm-Message-State: AOJu0Yyf1MLaMyqf7NJUY5Lk+dXelHWn7RoxiPK5F+JSeb0g4zdydCpA 0Ya+anclSgevFqi5U9bJGHG5dNansyesmxYXdjfvuSVFR/5V0diXweJnB49OzICHLj5xv/6/C0b 3uEMkIM0= X-Gm-Gg: AR+sD12i7s7rKjfbbQ3HuSjOUr7fi7PrrhzZiMY+FlBoGhdSYZqfD/YYZbgw/d0WrUj XncvO5R3jSuI+OCpFJ2uw0Tam06PfehEWqtMUDgY4McfnaqswXi3zPKrYhegrB/fRwzXLKUGBjz /8ZeDP6GhedGOz3YK/bcgOOHPtNl35I7bXGIDui7N8PSOWwHDxi6hQGz8WuHbitmK1mWiIx1ONk mlD6HaqMMc9TG0pppSBRwcWbdWp1UN5OgiLd+EFMyROSNcn/Y7FS9JRduT4uPfKHiQygvTZSLRh 4L5lUjdda2Mhu/R97WIRyDRQ+ZwShJc494OdWvM/HEqkWFcxeg3LP9RBM7C/75TLub24hFAAd4e ljU41ddbs7HTmJSxdoMWu9C3mPu/UC40n+8PTclXjyuKo96SSAGDlS0btXG3XBSHYbWsIocPWvv xt6ljZ422wB+WmWtjdrvIOVfhsAFU+Hy8LHXdgP4l42OO0LMDFI5mZbDGnjcPBLnq5UxLVxw/MO iZ3DRbDOnbiQGrQH4moNm4bMjjEjfSI0BYmiYeoKALF X-Received: by 2002:a17:902:f607:b0:2ca:de3:15eb with SMTP id d9443c01a7336-2d05209f863mr69757105ad.0.1785641568294; Sat, 01 Aug 2026 20:32:48 -0700 (PDT) From: Joaquin Varela To: pve-devel@lists.proxmox.com Subject: [PATCH storage v2 6/7] zfsnvme: accept short volume activation calls Date: Sun, 2 Aug 2026 00:31:40 -0300 Message-ID: <158683ac8934029e61e466577d325eab9e36812e.1785636979.git.joaquinvarela@neatech.ar> X-Mailer: git-send-email 2.54.0.windows.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.000 Adjusted score from AWL reputation of From: address DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DMARC_PASS -0.1 DMARC pass policy RCVD_IN_DNSWL_NONE -0.0001 Sender listed at https://www.dnswl.org/, no trust 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: 7FQCGLUZLL5RN24KFGNKSDMU6NA7FZO4 X-Message-ID-Hash: 7FQCGLUZLL5RN24KFGNKSDMU6NA7FZO4 X-MailFrom: joaquinvarela@neatech.ar 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 CC: Joaquin Varela X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox VE development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Default optional snapshot and cache arguments so internal callers such as cloud-init can use the short activation and deactivation form. Cover both calls in the storage plugin test. Signed-off-by: Joaquin Varela --- src/PVE/Storage/ZFSNVMePlugin.pm | 11 +++++++++-- src/test/zfsnvme_test.pm | 25 +++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/src/PVE/Storage/ZFSNVMePlugin.pm b/src/PVE/Storage/ZFSNVMePlugin.pm index 21fa00d..54c406d 100644 --- a/src/PVE/Storage/ZFSNVMePlugin.pm +++ b/src/PVE/Storage/ZFSNVMePlugin.pm @@ -777,7 +777,7 @@ sub activate_volume( $storeid, $scfg, $volname, - $snapname, + $snapname = undef, $cache = undef, $hints = undef, ) { @@ -795,7 +795,14 @@ sub activate_volume( return 1; } -sub deactivate_volume($class, $storeid, $scfg, $volname, $snapname, $cache = undef) { +sub deactivate_volume( + $class, + $storeid, + $scfg, + $volname, + $snapname = undef, + $cache = undef, +) { die "unable to deactivate snapshot from remote zfs storage\n" if $snapname; return 1; } diff --git a/src/test/zfsnvme_test.pm b/src/test/zfsnvme_test.pm index 128ebf1..d64b149 100644 --- a/src/test/zfsnvme_test.pm +++ b/src/test/zfsnvme_test.pm @@ -219,6 +219,31 @@ like( 'activate_volume accepts the current storage API hints argument', ); +$nvme_mock->redefine(activate_storage => sub { die "activation attempted\n" }); +eval { + PVE::Storage::ZFSNVMePlugin->activate_volume( + 'nvmetest', + $scfg, + 'vm-100-disk-0', + ); +}; +like( + $@, + qr/activation attempted/, + 'activate_volume accepts the short direct-call form used by cloud-init', +); +$nvme_mock->unmock('activate_storage'); + +is( + PVE::Storage::ZFSNVMePlugin->deactivate_volume( + 'nvmetest', + $scfg, + 'vm-100-disk-0', + ), + 1, + 'deactivate_volume accepts the short direct-call form', +); + my $lio_mock = Test::MockModule->new('PVE::Storage::LunCmd::LIO'); my @provider_args; $lio_mock->redefine( -- 2.54.0.windows.1