Series queued on machine-next. On Thu, Aug 24, 2017 at 04:23:12PM -0300, Eduardo Habkost wrote: > This series adds a new "discard-data" option to > memory-backend-file. The new option will be useful if somebody > is sharing RAM contents on a pre-existing file using share=on, > but don't need data to be flushed to disk when QEMU exits. > > Internally, it will trigger a madvise(MADV_REMOVE) call when the > memory backend is removed or when QEMU exits. > > To make we actually trigger the new code when QEMU exits, the > first patch in the series ensures we destroy all user-created > objects when exiting QEMU. > > Changes v1 -> v2: > * Original subject line of v1 was: > '[PATCH 0/5] hostmem-file: Add "persistent" option' > * Replaced 'persistent=no' with 'discard-data=yes', to make it > clear that the flag will destroy data on the backing file. > * Use qemu_madvise() instead of madvise() > * New patch added to series: "osdep: define QEMU_MADV_REMOVE" > * Call qemu_madvise() directly from the backend unparent() > method, insteead of adding a new flag to the memory API and > reusing ram_block_discard_range() > * In addition to simplifying the code a lot, this fixes a bug, > because v1 relied on getting the memory region reference > count back to 0, which doesn't happen when QEMU is exiting > because there's no machine cleanup code to ensure that. > > Eduardo Habkost (3): > vl: Clean up user-creatable objects when exiting > osdep: Define QEMU_MADV_REMOVE > hostmem-file: Add "discard-data" option > > include/qemu/osdep.h | 7 +++++++ > include/qom/object_interfaces.h | 8 ++++++++ > backends/hostmem-file.c | 29 +++++++++++++++++++++++++++++ > qom/object_interfaces.c | 5 +++++ > vl.c | 1 + > qemu-options.hx | 5 ++++- > 6 files changed, 54 insertions(+), 1 deletion(-) > > -- > 2.9.4 > >
-- Eduardo