From 80a78896bf529f3a738ba64e6dae5f25e1f1d12f Mon Sep 17 00:00:00 2001 From: Kevin Adams Date: Sun, 7 Jun 2026 14:19:14 -0400 Subject: [PATCH] fix: add state volume pattern to parse_volname (#234) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PVE allocates a vm--state- volume when a snapshot is taken with "Include RAM" selected. parse_volname didn't recognise this pattern, causing a crash during both setup and cleanup of the state volume. Added state volume pattern — treated as raw images, same vmid extraction as disk volumes. Co-Authored-By: Claude Sonnet 4.6 --- perl5/PVE/Storage/Custom/TrueNAS.pm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/perl5/PVE/Storage/Custom/TrueNAS.pm b/perl5/PVE/Storage/Custom/TrueNAS.pm index b594a56..c868c06 100644 --- a/perl5/PVE/Storage/Custom/TrueNAS.pm +++ b/perl5/PVE/Storage/Custom/TrueNAS.pm @@ -415,6 +415,12 @@ sub parse_volname { return ('images', $volname, $vmid, undef, undef, $isBase, 'raw'); } + # RAM snapshot state volume: vm--state- + # PVE allocates one of these per snapshot when "Include RAM" is selected. + if ($volname =~ /^vm-(\d+)-state-.+$/) { + return ('images', $volname, $1, undef, undef, 0, 'raw'); + } + die "unable to parse TrueNAS volume name '$volname'\n"; }