nvdimm: support MAP_SYNC for memory-backend-file
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest7 patches 7 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/7 | numa: Fixed the memory leak of numa error messagenuma.c | +1 | 2 replies | |
| 2/7 | util/mmap-alloc: switch qemu_ram_mmap() to 'flags' parameterexec.c include/ util/ +1 more | +27 | 0 replies | |
| 3/7 | exec: switch qemu_ram_alloc_from_{file, fd} to the 'flags' parameterexec.c | +4 | 2 replies | |
| 4/7 | util/mmap-alloc: support MAP_SYNC in qemu_ram_mmap()exec.c include/ include/ +3 more | +60 | 0 replies | |
| 5/7 | util/mmap-alloc: Switch the RAM_SYNC flags to OnOffAutoinclude/ util/ | +18 | 0 replies | |
| 6/7 | hostmem: add more information in error messagesbackends/ backends/ | +9 | 0 replies | |
| 7/7 | hostmem-file: add 'sync' optionbackends/ docs/ include/ +1 more | +87 | 2 replies |
Reviews trailers per patch
1 of 7 patches has a Reviewed-by or Acked-by.
| Patch | Igor Mammedov | Pankaj gupta |
|---|---|---|
| 1/7 | R-b | R-b |
| 2/7 | ||
| 3/7 | ||
| 4/7 | ||
| 5/7 | ||
| 6/7 | ||
| 7/7 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [Qemu-devel] [PATCH V5_resend 0/7] nvdimm: support MAP_SYNC for memory-backend-file
Linux 4.15 introduces a new mmap flag MAP_SYNC, which can be used to guarantee the write persistence to mmap'ed files supporting DAX (e.g., files on ext4/xfs file system mounted with '-o dax').
A description of MAP_SYNC and MAP_SHARED_VALIDATE can be found at
https://patchwork.kernel.org/patch/10028151/
In order to make sure that the file metadata is in sync after a fault while we are writing a shared DAX supporting backend files, this patch-set enables QEMU to use MAP_SYNC flag for memory-backend-dax-file.
As the DAX vs DMA truncated issue was solved, we refined the code and send out this feature for the v5 version.
A new auto on/off option 'sync' is added to memory-backend-file:
- on: try to pass MAP_SYNC to mmap(2); if MAP_SYNC is not supported or 'share=off', QEMU will abort
- off: never pass MAP_SYNC to mmap(2)
- auto (default): if MAP_SYNC is supported and 'share=on', work as if 'sync=on'; otherwise, work as if 'sync=off'
Zhang Yi (7):
numa: Fixed the memory leak of numa error message util/mmap-alloc: switch qemu_ram_mmap() to 'flags' parameter
exec: switch qemu_ram_alloc_from_{file, fd} to the 'flags' parameter util/mmap-alloc: support MAP_SYNC in qemu_ram_mmap() util/mmap-alloc: Switch the RAM_SYNC flags to OnOffAuto
hostmem: add more information in error messages
hostmem-file: add 'sync' option
backends/hostmem-file.c | 45 +++++++++++++++++++++++++++++++++-- backends/hostmem.c | 8 ++++--- docs/nvdimm.txt | 20 +++++++++++++++- exec.c | 9 +++---- include/exec/memory.h | 18 ++++++++++++++ include/exec/ram_addr.h | 1 + include/qemu/mmap-alloc.h | 20 +++++++++++++++- include/standard-headers/linux/mman.h | 44 ++++++++++++++++++++++++++++++++++ numa.c | 1 + qemu-options.hx | 22 ++++++++++++++++- util/mmap-alloc.c | 26 ++++++++++++++++---- util/oslib-posix.c | 4 +++- 12 files changed, 200 insertions(+), 18 deletions(-) create mode 100644 include/standard-headers/linux/mman.h
Signature · 1 line
2.7.4