Re: [RFC v3] qemu: Add virtio pmem device

From: Eric Blake
Date: Tue Jul 24 2018 - 12:13:15 EST


On 07/13/2018 02:52 AM, Pankaj Gupta wrote:
This patch adds virtio-pmem Qemu device.

This device presents memory address range information to guest
which is backed by file backend type. It acts like persistent
memory device for KVM guest. Guest can perform read and persistent
write operations on this memory range with the help of DAX capable
filesystem.

Persistent guest writes are assured with the help of virtio based
flushing interface. When guest userspace space performs fsync on
file fd on pmem device, a flush command is send to Qemu over VIRTIO
and host side flush/sync is done on backing image file.

Changes from RFC v2:

This patch has no n/M in the subject line; but is included in a thread that also has a 0/2 cover letter, as well as 1/2 and 2/2 patches in separate mails. Is that intentional?

When sending revision notes on a specific patch, it's best to place them...

- Use aio_worker() to avoid Qemu from hanging with blocking fsync
call - Stefan
- Use virtio_st*_p() for endianess - Stefan
- Correct indentation in qapi/misc.json - Eric

Signed-off-by: Pankaj Gupta <pagupta@xxxxxxxxxx>
---

...here, after the --- separator. They are useful to reviewers on the list, but are stripped by 'git am' as they don't need to be part of the git history (a year from now, we won't care how many iterations the patch went through during review, only what actually landed).


+++ b/qapi/misc.json
@@ -2907,6 +2907,29 @@
}
}
+##
+# @VirtioPMemDeviceInfo:
+#
+# VirtioPMem state information
+#
+# @id: device's ID
+#
+# @start: physical address, where device is mapped
+#
+# @size: size of memory that the device provides
+#
+# @memdev: memory backend linked with device
+#
+# Since: 2.13

There is no 2.13 release, and you've missed the 3.0 window. Please update this and any other version reference to 3.1.

--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org