From: "Denis V. Lunev" <den@openvz.org>
To: Eric Blake <eblake@redhat.com>, Fam Zheng <famz@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
Olga Krishtal <okrishtal@virtuozzo.com>,
qemu-devel@nongnu.org, Max Reitz <mreitz@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 1/5] block: added lock image option and callback
Date: Thu, 14 Jan 2016 10:23:43 +0300 [thread overview]
Message-ID: <56974CFF.3000904@openvz.org> (raw)
In-Reply-To: <56967ED5.9050300@redhat.com>
On 01/13/2016 07:44 PM, Eric Blake wrote:
> On 01/12/2016 05:10 PM, Fam Zheng wrote:
>
>>> If we will switch default in my patch from 'nolock' to 'lock' then
>>> pour guys which are calling qemu-img etc stuff will see the lock
>>> as necessary while 'proper management software' aka libvirt
>>> will be able to call qemu/qemu-img etc with proper 'nolock'
>>> flag as they do care about the locking.
>> That is wrong because then we break old libvirt with the new qemu-img (acquires
>> lock by default), which is IMO a breakage of backward compatibility.
> In the big software stack picture, it is okay to reject 'old libvirt/new
> qemu' as an invalid combination. Upgrade-wise, we specifically support
> 'new libvirt/old qemu' - but it is fair game to say that 'if you want to
> run new qemu, you must first upgrade to new libvirt that knows how to
> drive it'.
>
> That said, minimizing back-compat breaks, so that old libvirt can
> (usually) correctly drive new qemu, is a worthy design goal for qemu.
>
there is one other thing I have originally missed to add to the
picture.
Locking could be complex and format specific. In original
Parallels disk format (not image but entire bundle), the locking
is performed on a very special file.
Thus either libvirt must know exact format details or it must
rely on something which really does know details, i.e. QEMU/qemu-img.
Den
next prev parent reply other threads:[~2016-01-14 7:24 UTC|newest]
Thread overview: 99+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-22 16:46 [Qemu-devel] [PATCH 00/10] qcow2: Implement image locking Kevin Wolf
2015-12-22 16:46 ` [Qemu-devel] [PATCH 01/10] qcow2: Write feature table only for v3 images Kevin Wolf
2015-12-22 20:20 ` Eric Blake
2016-01-11 15:20 ` Kevin Wolf
2015-12-22 16:46 ` [Qemu-devel] [PATCH 02/10] qcow2: Write full header on image creation Kevin Wolf
2015-12-22 20:25 ` Eric Blake
2015-12-22 16:46 ` [Qemu-devel] [PATCH 03/10] block: Assert no write requests under BDRV_O_INCOMING Kevin Wolf
2015-12-22 20:27 ` Eric Blake
2015-12-22 16:46 ` [Qemu-devel] [PATCH 04/10] block: Fix error path in bdrv_invalidate_cache() Kevin Wolf
2015-12-22 20:31 ` Eric Blake
2015-12-22 16:46 ` [Qemu-devel] [PATCH 05/10] block: Inactivate BDS when migration completes Kevin Wolf
2015-12-22 20:43 ` Eric Blake
2016-01-05 20:21 ` [Qemu-devel] [Qemu-block] " John Snow
2016-01-13 14:25 ` Kevin Wolf
2016-01-13 16:35 ` Eric Blake
2015-12-22 16:46 ` [Qemu-devel] [PATCH 06/10] qemu-img: Prepare for locked images Kevin Wolf
2015-12-22 16:57 ` Daniel P. Berrange
2015-12-22 17:00 ` Kevin Wolf
2015-12-22 21:06 ` Eric Blake
2016-01-11 15:49 ` Markus Armbruster
2016-01-11 16:05 ` Kevin Wolf
2016-01-12 15:20 ` Markus Armbruster
2016-01-12 17:36 ` Kevin Wolf
2016-01-13 8:44 ` Markus Armbruster
2016-01-13 14:19 ` Kevin Wolf
2016-01-14 13:07 ` Markus Armbruster
2016-01-14 14:19 ` Kevin Wolf
2016-01-11 16:22 ` Kevin Wolf
2015-12-22 21:41 ` Eric Blake
2015-12-22 16:46 ` [Qemu-devel] [PATCH 07/10] qcow2: Implement .bdrv_inactivate Kevin Wolf
2015-12-22 21:17 ` Eric Blake
2016-01-11 15:34 ` Kevin Wolf
2015-12-22 16:46 ` [Qemu-devel] [PATCH 08/10] qcow2: Fix BDRV_O_INCOMING handling in qcow2_invalidate_cache() Kevin Wolf
2015-12-22 21:22 ` Eric Blake
2015-12-22 16:46 ` [Qemu-devel] [PATCH 09/10] qcow2: Make image inaccessible after failed qcow2_invalidate_cache() Kevin Wolf
2015-12-22 21:24 ` Eric Blake
2015-12-22 16:46 ` [Qemu-devel] [PATCH 10/10] qcow2: Add image locking Kevin Wolf
2015-12-22 22:04 ` Eric Blake
2015-12-23 3:14 ` [Qemu-devel] [PATCH 00/10] qcow2: Implement " Fam Zheng
2015-12-23 7:35 ` [Qemu-devel] [Qemu-block] " Denis V. Lunev
2015-12-23 7:46 ` [Qemu-devel] [PATCH RFC 0/5] generic image locking and crash recovery Denis V. Lunev
2015-12-23 7:46 ` [Qemu-devel] [PATCH 1/5] block: added lock image option and callback Denis V. Lunev
2015-12-23 23:48 ` Eric Blake
2016-01-11 17:31 ` Kevin Wolf
2016-01-11 17:58 ` Daniel P. Berrange
2016-01-11 18:35 ` Kevin Wolf
2016-01-13 8:52 ` Markus Armbruster
2016-01-13 9:12 ` Denis V. Lunev
2016-01-13 9:50 ` Daniel P. Berrange
2016-01-13 9:51 ` Daniel P. Berrange
2016-01-12 5:38 ` Denis V. Lunev
2016-01-12 10:10 ` Kevin Wolf
2016-01-12 11:33 ` Fam Zheng
2016-01-12 12:24 ` Denis V. Lunev
2016-01-12 12:28 ` Kevin Wolf
2016-01-12 13:17 ` Fam Zheng
2016-01-12 13:24 ` Daniel P. Berrange
2016-01-13 0:08 ` Fam Zheng
2016-01-12 15:59 ` Denis V. Lunev
2016-01-13 0:10 ` Fam Zheng
2016-01-13 16:44 ` Eric Blake
2016-01-14 7:23 ` Denis V. Lunev [this message]
2015-12-23 7:46 ` [Qemu-devel] [PATCH 2/5] block: implemented bdrv_lock_image for raw file Denis V. Lunev
2015-12-23 12:40 ` Daniel P. Berrange
2015-12-23 7:46 ` [Qemu-devel] [PATCH 3/5] block: added check image option and callback bdrv_is_opened_unclean Denis V. Lunev
2015-12-23 9:09 ` Fam Zheng
2015-12-23 9:14 ` Denis V. Lunev
2015-12-23 7:46 ` [Qemu-devel] [PATCH 4/5] qcow2: implemented bdrv_is_opened_unclean Denis V. Lunev
2016-01-11 17:37 ` Kevin Wolf
2015-12-23 7:46 ` [Qemu-devel] [PATCH 5/5] block/paralels: added paralles implementation for bdrv_is_opened_unclean Denis V. Lunev
2015-12-23 8:09 ` [Qemu-devel] [PATCH RFC 0/5] generic image locking and crash recovery Fam Zheng
2015-12-23 8:36 ` Denis V. Lunev
2015-12-23 10:47 ` [Qemu-devel] [PATCH 00/10] qcow2: Implement image locking Daniel P. Berrange
2015-12-23 12:15 ` [Qemu-devel] [Qemu-block] " Roman Kagan
2015-12-23 12:29 ` Daniel P. Berrange
2015-12-23 12:41 ` Denis V. Lunev
2015-12-23 12:46 ` Daniel P. Berrange
2015-12-23 12:34 ` Daniel P. Berrange
2015-12-23 12:47 ` Denis V. Lunev
2015-12-23 12:56 ` Daniel P. Berrange
2016-01-11 17:14 ` [Qemu-devel] " Kevin Wolf
2016-01-11 17:54 ` Daniel P. Berrange
2016-01-13 8:56 ` Markus Armbruster
2016-01-13 9:11 ` [Qemu-devel] [Qemu-block] " Denis V. Lunev
2015-12-23 23:19 ` [Qemu-devel] " Max Reitz
2015-12-24 5:41 ` [Qemu-devel] [Qemu-block] " Denis V. Lunev
2015-12-24 5:42 ` Denis V. Lunev
2016-01-04 17:02 ` Max Reitz
2016-01-11 16:47 ` Kevin Wolf
2016-01-11 17:56 ` Daniel P. Berrange
2015-12-23 14:57 ` [Qemu-devel] " Vasiliy Tolstov
2015-12-23 15:08 ` [Qemu-devel] [Qemu-block] " Denis V. Lunev
2015-12-23 15:11 ` Vasiliy Tolstov
2016-01-11 16:25 ` Kevin Wolf
2015-12-23 15:09 ` Denis V. Lunev
2015-12-24 5:43 ` Denis V. Lunev
2016-01-11 16:33 ` Kevin Wolf
2016-01-11 16:38 ` Denis V. Lunev
2016-01-14 14:01 ` Max Reitz
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=56974CFF.3000904@openvz.org \
--to=den@openvz.org \
--cc=eblake@redhat.com \
--cc=famz@redhat.com \
--cc=kwolf@redhat.com \
--cc=mreitz@redhat.com \
--cc=okrishtal@virtuozzo.com \
--cc=qemu-devel@nongnu.org \
/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.