KVM Crystal Ridge Lack of data persistence guarantee of QEMU writes to host PMEM
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
kvm (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
qemu (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
When the host persistent memory is used as the backend of vNVDIMM, QEMU itself may write to the host pmem, e.g., in vNVDIMM label emulation and live migration. In those cases, QEMU needs to take necessary operations (e.g., flush&fence after writes, or store with non-temporal hint) to ensure the data persistence of its own writes to PMEM. Therefore, data on vNVDIMM can be in a consistent status on abnormal termination of QEMU (e.g., QEMU/host kernel crash, host power failure, etc.). Unfortunately, such operations are missed in current QEMU implementation.
Here’s the list of qemu commits (from qemu 3.0):
56eb90a migration/ram: ensure write persistence on loading all data to PMEM.
469dd51 migration/ram: Add check and info message to nvdimm post copy.
faf8a13 mem/nvdimm: ensure write persistence to PMEM in label emulation
a4de855 hostmem-file: add the 'pmem' option
1782440 configure: add libpmem support
cbfc017 memory, exec: switch file ram allocation functions to 'flags' parameters
b0e5de9 memory, exec: Expose all memory block related flags.
Changed in qemu (Ubuntu): | |
status: | New → Confirmed |
Changed in kvm (Ubuntu): | |
status: | New → Invalid |
this bug is duplicated with LP#1745900
More information will be there.