diff mbox

[v2] docs: update HVM emulated unplug protocol to cover NVMe disks

Message ID 1490353213-2734-1-git-send-email-paul.durrant@citrix.com (mailing list archive)
State New, archived
Headers show

Commit Message

Paul Durrant March 24, 2017, 11 a.m. UTC
Recent discussions on xen-devel have highlighted that to properly
support displacing emulated NVMe disks with PV equivalents will need
updates to PV frontends. Therefore it is important that, if an emulated
NVMe disk is exposed to a guest with an existing PV storage frontend,
that frontend does not inadvertently cause unplug of that emulated
disk when unplugging IDE or SCSI disks.

This patch defines a new bit in the mask used to instruct QEMU to unplug
emulated devices which will instruct QEMU to unplug NVMe disks and limits
the semantics of the existing 'all' disk-unplug bit to only IDE and/or SCSI
disks.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
---
Cc: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: George Dunlap <George.Dunlap@eu.citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: Tim Deegan <tim@xen.org>
Cc: Wei Liu <wei.liu2@citrix.com>

v2:
 - Updated commit comment with background rather then referring to
   thread URL.
---
 docs/misc/hvm-emulated-unplug.markdown | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

Comments

Wei Liu March 24, 2017, 11:43 a.m. UTC | #1
On Fri, Mar 24, 2017 at 11:00:13AM +0000, Paul Durrant wrote:
> Recent discussions on xen-devel have highlighted that to properly
> support displacing emulated NVMe disks with PV equivalents will need
> updates to PV frontends. Therefore it is important that, if an emulated
> NVMe disk is exposed to a guest with an existing PV storage frontend,
> that frontend does not inadvertently cause unplug of that emulated
> disk when unplugging IDE or SCSI disks.
> 
> This patch defines a new bit in the mask used to instruct QEMU to unplug
> emulated devices which will instruct QEMU to unplug NVMe disks and limits
> the semantics of the existing 'all' disk-unplug bit to only IDE and/or SCSI
> disks.
> 
> Signed-off-by: Paul Durrant <paul.durrant@citrix.com>

Reviewed-by: Wei Liu <wei.liu2@citrix.com>
George Dunlap March 24, 2017, 11:57 a.m. UTC | #2
On 24/03/17 11:00, Paul Durrant wrote:
> Recent discussions on xen-devel have highlighted that to properly
> support displacing emulated NVMe disks with PV equivalents will need
> updates to PV frontends. Therefore it is important that, if an emulated
> NVMe disk is exposed to a guest with an existing PV storage frontend,
> that frontend does not inadvertently cause unplug of that emulated
> disk when unplugging IDE or SCSI disks.
> 
> This patch defines a new bit in the mask used to instruct QEMU to unplug
> emulated devices which will instruct QEMU to unplug NVMe disks and limits
> the semantics of the existing 'all' disk-unplug bit to only IDE and/or SCSI
> disks.
> 
> Signed-off-by: Paul Durrant <paul.durrant@citrix.com>

That's a lot better -- thanks!

Acked-by: George Dunlap <george.dunlap@citrix.com>
diff mbox

Patch

diff --git a/docs/misc/hvm-emulated-unplug.markdown b/docs/misc/hvm-emulated-unplug.markdown
index 8ead0c5..f6b27ed 100644
--- a/docs/misc/hvm-emulated-unplug.markdown
+++ b/docs/misc/hvm-emulated-unplug.markdown
@@ -32,12 +32,13 @@  drivers):
    blacklisted and should not load.
 
 6. The drivers write a two-byte bitmask of devices to unplug to IO
-   port `0x10`.  The defined fields are:
+   port `0x10`.  The defined bits are:
 
-  * `1` -- All emulated disks (not including CD drives)
-  * `2` -- All emulated NICs
-  * `4` -- All IDE disks except for the primary master (not including CD
-	   drives)
+  * `0` -- All emulated IDE and SCSI disks (not including CD drives).
+  * `1` -- All emulated NICs.
+  * `2` -- All IDE disks except for the primary master (not including CD
+	   drives). This is overridden by bit 0.
+  * `3` -- All emulated NVMe disks.
 
    The relevant emulated devices then disappear from the relevant
    buses.  For most guest operating systems, you want to do this