]> git.proxmox.com Git - qemu-server.git/commitdiff
stop cleanup: remove unnecessary tpmstate cleanup
authorDominik Csapak <d.csapak@proxmox.com>
Thu, 6 Jun 2024 09:22:05 +0000 (11:22 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Fri, 5 Jul 2024 08:35:46 +0000 (10:35 +0200)
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.

For third-party storage plugins, it's natural to expect that
deactivate_volume() would also remove a mapping for the volume just
like RBDPlugin does.

While there is an explicit map_volume() call in start_swtpm(), a
third-party plugin might expect an explicit unmap_volume() call too.
However, the order of calls right now is
1. activate_volume()
2. map_volume()
3. deactivate_volume()
4. unmap_volume()

Which seems like it could cause problems already for third-party
plugins relying on an explicit unmap call.

All that said, it is unlikely that a third-party plugin breaks. If it
really happens, it can be discussed/adapted to the actual needs still.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Acked-by: Fiona Ebner <f.ebner@proxmox.com>
Reviewed-by: Fiona Ebner <f.ebner@proxmox.com>
PVE/QemuServer.pm

index a1405291fadda8b6d66287b964744216c028c612..88c274d088e3472dc7b07083babe41911ad0f45f 100644 (file)
@@ -6209,14 +6209,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)) {