All of lore.kernel.org
 help / color / mirror / Atom feed
From: John Snow <jsnow@redhat.com>
To: Max Reitz <mreitz@redhat.com>, Nir Soffer <nsoffer@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
	vsementsov@virtuozzo.com, qemu-block <qemu-block@nongnu.org>,
	QEMU Developers <qemu-devel@nongnu.org>,
	Markus Armbruster <armbru@redhat.com>,
	den@openvz.org
Subject: Re: [Qemu-devel] [Qemu-block] KVM Forum block no[td]es
Date: Wed, 14 Nov 2018 14:38:43 -0500	[thread overview]
Message-ID: <5faca2e2-e56d-012c-01e4-d76accc1f482@redhat.com> (raw)
In-Reply-To: <7e6da1d6-68bf-913d-6eaf-9acff0623218@redhat.com>



On 11/12/18 10:25 AM, Max Reitz wrote:
> On 12.11.18 00:36, Nir Soffer wrote:
>> On Mon, Nov 12, 2018 at 12:25 AM Max Reitz <mreitz@redhat.com
>> <mailto:mreitz@redhat.com>> wrote:
>>
>>     This is what I’ve taken from two or three BoF-like get-togethers on
>>     blocky things.  Amendments are more than welcome, of course.
>>
>> ... 
>>
>>     Bitmaps
>>
>>     =======
>>
>>     (Got this section from sneaking into a BoF I wasn’t invited to.  Oh
>>     well.  Won’t hurt to include them here.)
>>
>>     Currently, when dirty bitmaps are loaded, all IN_USE bitmaps are just
>>     not loaded at all and completely ignored.  That isn’t correct, though,
>>     they should either still be loaded (and automatically treated and
>>     written back as fully dirty), or at least qemu-img check should
>>     “repair” them (i.e. fully dirtying them).
>>
>>
>> I'm not sure making bitmaps dirty is better.
>>
>> When bitmap is marked IN_USE, it means that we cannot use it for
>> backup. Deleting the bitmap or making it as bad so it cannot be used
>> for the next backup is the same. Making the bitmap as dirty will full
>> the management layer that everything was fine when the next backup
>> includes the entire disk. It is better to cause the next backup to fail
>> in a verbose way, since the backup software can recover by doing
>> a full backup.
> 
> But making the dirty bitmap fully dirty will automatically enforce a
> full backup.
> 

I lean towards just deleting the bitmap in these cases but *not*
automatically.

If you do check -r, though, deleting them seems correct. This way you
don't get any nasty surprises when the cronjob goes to make an
incremental and it's accidentally 2TB and still running when you arrive
on Monday morning.

>>     Sometimes qemu (running in a mode as bare as possible) is better than
>>     using qemu-img convert, for instance.  It gives you more control
>>     (through QMP; you get e.g. better progress reporting), you get all of
>>     the mirror optimizations (we do have optimizations for convert, too,
>>     but whether it’s any good to write the same (or different?)
>>     optimizations twice is another question), and you get a common
>>     interface for everything (online and offline).
>>     Note that besides a bare qemu we’ve also always wanted to convert as
>>     many qemu-img operations into frontends for block jobs as possible.
>>     We have only done this for commit, however, even though convert looked
>>     like basically the ideal target.  It was just too hard with too little
>>     apparent gain, like always (and convert supports additional features
>>     like concatenation which we don’t have in the runtime block layer
>>     yet).
>>
>>
>> I'm not sure it is better to run qemu and use qemu-img as thin wrapper
>> over qmp.
>>
>> For example, management system may ascociate qemu-img
>> with a sanlock lease, and sanlock may try to terminate qemu-img when
>> a lease is invalidated. In this case sanlock will succeed while qemu is till
>> accessing storage it should not access.
>> ...
> 
> The point was not to run two processes, but to link the necessary bits
> of qemu into qemu-img and then use them inside the single qemu-img
> process itself.  As hinted at above, we've been doing this for qemu-img
> commit for quite some time; that command actually runs a block job under
> the hood (inside of qemu-img).
> 
> Max
> 

  parent reply	other threads:[~2018-11-14 19:38 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-11 22:25 [Qemu-devel] KVM Forum block no[td]es Max Reitz
2018-11-11 23:36 ` [Qemu-devel] [Qemu-block] " Nir Soffer
2018-11-12 15:25   ` Max Reitz
2018-11-12 16:10     ` Nir Soffer
2018-11-21  1:24       ` Vladimir Sementsov-Ogievskiy
2018-11-14 19:38     ` John Snow [this message]
2018-11-13 15:12 ` [Qemu-devel] " Alberto Garcia
2018-11-14 17:24   ` Max Reitz
2018-11-15 14:28     ` Alberto Garcia
2018-11-16 12:14       ` Max Reitz
2018-11-16 15:03         ` Alberto Garcia
2018-11-16 15:18           ` Kevin Wolf
2018-11-16 15:27             ` Max Reitz
2018-11-16 15:51               ` Kevin Wolf
2018-11-16 16:34                 ` Max Reitz
2018-11-16 17:13                   ` Kevin Wolf
2018-11-16 18:23                     ` Max Reitz
2018-11-16 17:16                   ` Alberto Garcia
2018-11-19 16:47             ` Alberto Garcia
2018-11-16 15:19           ` Max Reitz
2018-11-16 15:20           ` Alberto Garcia
2018-11-16  7:47 ` Denis V.Lunev

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5faca2e2-e56d-012c-01e4-d76accc1f482@redhat.com \
    --to=jsnow@redhat.com \
    --cc=armbru@redhat.com \
    --cc=den@openvz.org \
    --cc=kwolf@redhat.com \
    --cc=mreitz@redhat.com \
    --cc=nsoffer@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=vsementsov@virtuozzo.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.