qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug 1925496] Re: nvme disk cannot be hotplugged after removal


From: Klaus Jensen
Subject: [Bug 1925496] Re: nvme disk cannot be hotplugged after removal
Date: Wed, 28 Apr 2021 07:38:31 -0000

So, I had to investigate this a bit, since it is a part of QEMU that I'm
not too familiar with.

My understanding is that this is the expected behavior. The reason is
that the drive cannot be deleted immediately when the device is hot-
unplugged, since it might not be safe (other parts of QEMU could be
using it, like background block jobs).

What we *can* do, is make sure we mark the drive for auto deletion when
it is safe to do so. I'll add a patch for that.

On the other hand, the fact that if the drive is removed explicitly
through QMP (or in the monitor with drive_del), the drive id is remains
"in use". This might be a completely different bug that is unrelated to
the nvme device.

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1925496

Title:
  nvme disk cannot be hotplugged after removal

Status in QEMU:
  Confirmed

Bug description:
  Hello,

  When I try to re-add an nvme disk shortly after removing it, I get an
  error about duplicate ID.

  See the following commands to reproduce. This happens consistently on
  all VMs that I tested:

  
  attach
  ==========

  $VAR1 = {
            'arguments' => {
                             'command-line' => 'drive_add auto 
"file=/dev/zvol/rpool/data/vm-20000-disk-1,if=none,id=drive-nvme1,format=raw,cache=none,aio=native,detect-zeroes=on"'
                           },
            'execute' => 'human-monitor-command'
          };
  $VAR1 = {
            'execute' => 'device_add',
            'arguments' => {
                             'serial' => 'nvme1',
                             'drive' => 'drive-nvme1',
                             'driver' => 'nvme',
                             'id' => 'nvme1'
                           }
          };

  
  detach
  ===========
  $VAR1 = {
            'arguments' => {
                             'id' => 'nvme1'
                           },
            'execute' => 'device_del'
          };
  $VAR1 = {
            'execute' => 'human-monitor-command',
            'arguments' => {
                             'command-line' => 'drive_del drive-nvme1'
                           }
          };

  reattach
  ===========
  $VAR1 = {
            'arguments' => {
                             'command-line' => 'drive_add auto 
"file=/dev/zvol/rpool/data/vm-20000-disk-1,if=none,id=drive-nvme1,format=raw,cache=none,aio=native,detect-zeroes=on"'
                           },
            'execute' => 'human-monitor-command'
          };

  
  and I get:
  "Duplicate ID 'drive-nvme1' for drive"

  although it does not show up in query-block or query-pci anymore after
  the first detach.

  
  Is this a bug or am I missing something? Please advise.

  Best regards,
  Oguz

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1925496/+subscriptions



reply via email to

[Prev in Thread] Current Thread [Next in Thread]