From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate001.proxmox.com (gate001.proxmox.com [45.144.208.40]) by lore.proxmox.com (Postfix) with ESMTPS id E6A7F1FF0EF for ; Sun, 02 Aug 2026 05:33:40 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id D7069215AD; Sun, 02 Aug 2026 05:32:57 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=neatech-ar.20251104.gappssmtp.com; s=20251104; t=1785641567; x=1786246367; 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=kn7iv7jNfGk0cPZKbA7/4PRfMkv8I3438ha0AMB/HA8=; b=e0zerYBG1H4faKELuB/8lLhkxB3nz+LwkWfu1l2kuPnWTPbvucjesTDgziRUtgeYdX 5iAR9/9GLToU9UTev/6ZMvp8YzEl/EIbOVWYM1FC8H1HPzmJ2cEgZqv07c7OpLYCBJtv 2QFrXRpEL1BH1uvJpTu03yYd9p+Y3JQ9TEWen8K4iUNGto+GYTO5yDJ2UoEofGGvCZmI XR7rvmEgTW+e5leG+MaUD8xe30qnb98iY0z99EjsSHXl8sItlWUpaUbj+9v4kyaAy3lG +o7hGCbois3Pib+Fwt3n69rQMYkQBJLUK3F5FZXc+L1Oj2kd4xM2Sa8aye1JAXY4YCJA vWhg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785641567; x=1786246367; 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=kn7iv7jNfGk0cPZKbA7/4PRfMkv8I3438ha0AMB/HA8=; b=p4m07WnX52yMzB7c+ETSJ4+5kjELwrnyhwuCU2AmLtcB2RsLKYZbKUoYSAhf1f8bE/ 53MT9JCe3dGojPdFjS1ZZbcAtm8lnbt0O4pWZjiEQ09bN901VntM3tyy9gS8pZ3kOQmH eeCbSXgDR2BtDqqEUDeB1LnVj8YiH//9+RUGYfNVJqlro0/n5uLpgLb1WAPSkgxqQcNC d73an6fMSp6ZH85NRHI4PZ9Cq8oQzMA0+doyNQPJ48k+W2yODrwf3+yguWiFtZnRAiVD HD8dziBzIRHDEIDp47KyR0IxIZ/rMh1dKdoPzK/5uyN94DW+AtTW1uo9FZr63NFmMs02 QCrQ== X-Gm-Message-State: AOJu0YwJuB2K4loVciY4syda4eaKWG2PiJA2zosdwrPy5pbar4O5WXOb Qv+St4q+kGzavbbVRLvgVi7UIFqpPi0DGdrWpl27MfzHQ7ZROBeLLpjDd3d3f17iG90GymJfGRV UabRQSx8= X-Gm-Gg: AR+sD1088wd1Om0rBh9PCLJmMrYqG/p8i05UHgCfEIM4HUHUOXZOo2aKas3aG8oF+9b sJ4cDpO2n95m1UcUFAJieCEFGCDp/EIZ0A4p69dJnF/Vpe2uhcmGuw4YUwtylPJ3A1q0NP+TJts 8Mzcu5kPeqEqwm/yoDLCE11PkO4r8S4Jd3qcVuflas749FXoRydlUcWymKw+ewvjBt9Pj09a8KS d3zD8mhYo+N0ChmlfLdPxwnBYwuzJiU59eih6wClpDzhMscV0DhAf6fRf1V2WgMU4dyn2NZgRyO F7I96M1p04g6Db8c8KOqNVBogm1KBqJ4NsAbWP5SV0C4OdTLP2X0ootLEIvX4a/u4SJwAdWYdkU l63vUzGy6VTidwWWW01Cv4/onNid5nj+canuV/QRMObtX60yLWd3zgJ7nHK6CUtEK346nQCQC4b PojciobufGmt6jmkVX+lklQQDphHMdkoCtLdE9dA5i9ieITLVspVHYwEzfqrgVKG/D8nHRjTYp2 Jb5MXuxW23WS0HRPCiNC3kL62ndXw6HAceGCXfH/dLH2Sw3f88L2e/v X-Received: by 2002:a17:903:3810:b0:2ca:d803:5c8f with SMTP id d9443c01a7336-2d05221c08emr77224065ad.1.1785641567003; Sat, 01 Aug 2026 20:32:47 -0700 (PDT) From: Joaquin Varela To: pve-devel@lists.proxmox.com Subject: [PATCH storage v2 5/7] zfsnvme: accept activation hints from storage API Date: Sun, 2 Aug 2026 00:31:39 -0300 Message-ID: <70a6d5b99742f420f8b8ffae9f8157fe1bd84e3d.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 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: AEVL4NZNZ5WG7M5LLJ4DB5VSSCNBWA3I X-Message-ID-Hash: AEVL4NZNZ5WG7M5LLJ4DB5VSSCNBWA3I 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: Match the current activate_volume callback signature by accepting the optional activation hints argument. Keep the existing snapshot rejection semantics and add a focused compatibility test. Signed-off-by: Joaquin Varela --- src/PVE/Storage/ZFSNVMePlugin.pm | 10 +++++++++- src/test/zfsnvme_test.pm | 16 ++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/PVE/Storage/ZFSNVMePlugin.pm b/src/PVE/Storage/ZFSNVMePlugin.pm index 6513df0..21fa00d 100644 --- a/src/PVE/Storage/ZFSNVMePlugin.pm +++ b/src/PVE/Storage/ZFSNVMePlugin.pm @@ -772,7 +772,15 @@ sub qemu_blockdev_options($class, $scfg, $storeid, $volname, $machine_version, $ return { driver => 'host_device', filename => $path }; } -sub activate_volume($class, $storeid, $scfg, $volname, $snapname, $cache = undef) { +sub activate_volume( + $class, + $storeid, + $scfg, + $volname, + $snapname, + $cache = undef, + $hints = undef, +) { die "unable to activate snapshot from remote zfs storage\n" if $snapname; my ($path) = $class->path($scfg, $volname, $storeid); if (!-b $path) { diff --git a/src/test/zfsnvme_test.pm b/src/test/zfsnvme_test.pm index e06ac76..128ebf1 100644 --- a/src/test/zfsnvme_test.pm +++ b/src/test/zfsnvme_test.pm @@ -203,6 +203,22 @@ is_deeply( 'uses the QEMU host_device driver', ); +eval { + PVE::Storage::ZFSNVMePlugin->activate_volume( + 'nvmetest', + $scfg, + 'vm-100-disk-0', + 'snapshot-with-hints', + {}, + { 'guest-type' => 'qemu' }, + ); +}; +like( + $@, + qr/unable to activate snapshot from remote zfs storage/, + 'activate_volume accepts the current storage API hints argument', +); + my $lio_mock = Test::MockModule->new('PVE::Storage::LunCmd::LIO'); my @provider_args; $lio_mock->redefine( -- 2.54.0.windows.1