qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* bitmaps -- copying allocation status into dirty bitmaps
@ 2019-11-01 15:42 John Snow
  2019-11-01 15:49 ` Denis V. Lunev
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: John Snow @ 2019-11-01 15:42 UTC (permalink / raw)
  To: Qemu-block
  Cc: Kevin Wolf, Peter Krempa, qemu-devel,
	Vladimir Sementsov-Ogievskiy, Denis V. Lunev

Hi, in one of my infamously unreadable and long status emails, I
mentioned possibly wanting to copy allocation data into bitmaps as a way
to enable users to create (external) snapshots from outside of the
libvirt/qemu context.

(That is: to repair checkpoints in libvirt after a user extended the
backing chain themselves, you want to restore bitmap information for
that node. Conveniently, this information IS the allocation map, so we
can do this.)

It came up at KVM Forum that we probably do want this, because oVirt
likes the idea of being able to manipulate these chains from outside of
libvirt/qemu.

Denis suggested that instead of a new command, we can create a special
name -- maybe "#ALLOCATED" or something similar that can never be
allocated as a user-defined bitmap name -- as a special source for the
merge command.

You'd issue a merge from "#ALLOCATED" to "myBitmap0" to copy the current
allocation data into "myBitmap0", for instance.

Some thoughts:

- The only commands where this pseudo-bitmap makes sense is merge.
enable/disable/remove/clear/add don't make sense here.

- This pseudo bitmap might make sense for backup, but it's not needed;
you can just merge into an empty/enabled bitmap and then use that.

- Creating an allocation bitmap on-the-fly is probably not possible
directly in the merge command, because the disk status calls might take
too long...

Hm, actually, I'm not sure how to solve that one. Merge would need to
become a job (or an async QMP command?) or we'd need to keep an
allocation bitmap object around and in-sync. I don't really want to do
either, so maybe I'm missing an obvious/better solution.

Also, with regards to introspection, if we do create a special reserved
name like #ALLOCATED, we need to make sure that this is available and
obvious via the QAPI schema.

--js



^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2019-12-02 22:18 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-01 15:42 bitmaps -- copying allocation status into dirty bitmaps John Snow
2019-11-01 15:49 ` Denis V. Lunev
2019-11-01 16:10   ` Eric Blake
2019-11-01 16:39   ` Vladimir Sementsov-Ogievskiy
2019-11-01 16:53 ` Vladimir Sementsov-Ogievskiy
2019-11-04 11:21 ` Max Reitz
2019-11-04 11:27   ` Max Reitz
2019-12-02 22:13     ` John Snow

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).