Am 20.03.24 um 13:51 schrieb Dominik Csapak: > tpmstate0 is already included in `get_vm_volumes`, and our only storage > plugin that has unmap_volume implemented is the RBDPlugin, where we call > unmap in `deactivate_volume`. So it's already ummapped by the > `deactivate_volumes` calls above. > > Signed-off-by: Dominik Csapak <d.csa...@proxmox.com> > ---
There are third-party storage plugins too. But it's natural to expect that deactivate_volume() would also remove a mapping for the volume. OTOH, there is an explicit map_volume() call in start_swtpm() (can't use librbd), so it's natural to expect an explicit unmap_volume() call. However, the order of calls right now is 1. activate_volume() 2. map_volume() 3. deactivate_volume() 4. unmap_volume() I'd rather expect 3 and 4 to be swapped if doing it "properly". All that said, I think we can try dropping this and risk the, arguably unlikely, scenario that a third-party plugin breaks. If it really happens, then we can adapt according to the actual needs. Acked-by: Fiona Ebner <f.eb...@proxmox.com> > PVE/QemuServer.pm | 8 -------- > 1 file changed, 8 deletions(-) > > diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm > index ef3aee20..d53e9693 100644 > --- a/PVE/QemuServer.pm > +++ b/PVE/QemuServer.pm > @@ -6167,14 +6167,6 @@ sub vm_stop_cleanup { > if (!$keepActive) { > my $vollist = get_vm_volumes($conf); > PVE::Storage::deactivate_volumes($storecfg, $vollist); > - > - if (my $tpmdrive = $conf->{tpmstate0}) { > - my $tpm = parse_drive("tpmstate0", $tpmdrive); > - my ($storeid, $volname) = > PVE::Storage::parse_volume_id($tpm->{file}, 1); > - if ($storeid) { > - PVE::Storage::unmap_volume($storecfg, $tpm->{file}); > - } > - } > } > > foreach my $ext (qw(mon qmp pid vnc qga)) { _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel