From ecdd137c6f00b363581df9c2ff01d4e58a286852 Mon Sep 17 00:00:00 2001 From: Julio Montes Date: Fri, 18 Jun 2021 09:02:03 -0500 Subject: [PATCH] runtime: do not hot-remove PMEM devices PMEM devices cannot be hot-removed from a running VM. fixes #2018 Signed-off-by: Julio Montes --- src/runtime/virtcontainers/sandbox.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/runtime/virtcontainers/sandbox.go b/src/runtime/virtcontainers/sandbox.go index e4287341cc..7fc0d0790e 100644 --- a/src/runtime/virtcontainers/sandbox.go +++ b/src/runtime/virtcontainers/sandbox.go @@ -1715,6 +1715,11 @@ func (s *Sandbox) HotplugRemoveDevice(ctx context.Context, device api.Device, de if !ok { return fmt.Errorf("device type mismatch, expect device type to be %s", devType) } + // PMEM devices cannot be hot removed + if blockDrive.Pmem { + s.Logger().WithField("path", blockDrive.File).Infof("Skip device: cannot hot remove PMEM devices") + return nil + } _, err := s.hypervisor.hotplugRemoveDevice(ctx, blockDrive, blockDev) return err case config.VhostUserBlk: