On 12/6/19 5:37 AM, Vladimir Sementsov-Ogievskiy wrote:
06.12.2019 1:37, John Snow wrote:
> This has come up in the past, and I believe we discussed this at KVM
> Forum, too:
>
> There have been requests from oVirt (via Nir Soffer) to add some offline
> bitmap manipulation functionality. In the past, our stance has generally
> been "Use QEMU without an accelerator, and use QMP to manipulate the
> images."
>
> We like this for a few reasons:
>
> 1. It keeps bitmap management code tightly centralized
> 2. It allows for the full suite of bitmap manipulations in either
> offline or online mode with one tool
> 3. We wouldn't have to write new code.
> 4. Or design new CLIs and duplicate our existing work.
> 5. Or write even more tests.
>
> However, tools like oVirt may or may not be fully equipped to launch
> QEMU in this context, and there is always a desire for qemu-img to be
> able to "do more", so existing management suites could extend
> functionality more easily.
I think, all guys, who don't want to use Qemu directly for image manipulations,
should hope for Kevin's "[RFC PATCH 00/18] Add qemu-storage-daemon", which
is
the correct solution of their problem. Still, I'm not one of these guys.
>
> (Or so I am imagining.)
>
> I am still leaning heavily against adding any more CLI commands or
> options to qemu-img right now. Even if we do add some of the fundamental
> ones like "add" or "remove", it seems only a matter of time
before we
> have to add "clear", "merge", etc. Is this just a race to code
duplication?
>
> On the other hand, one of the other suggestions is to have qemu-img
> check --repair optionally delete corrupted bitmaps. I kind of like this
> idea: it's a buyer beware operation that might make management layers
> unhappy, but then again ... repair is always something that could make
> things worse.
>
> Plus, if you manage to corrupt bitmaps badly enough that they can't even
> be parsed, you might need a heavyweight repair operation.
>
Improving "check" is a correct thing, because it's done inside qcow2
driver
itself. We just don't have corresponding qmp command or command line option
for Qemu to use this thing (or I missed it).
OK, I agree. I made a redhat BZ to track that we want this: 1780416 -
RFE: qemu-img check --repair should optionally remove any
corrupted bitmaps
I'll work on a patch and we can debate the details there.
--js