Re: [Qemu-devel] [PATCH] block: Make op blockers recursive

2014-09-22 Thread Benoît Canet
On Thu, Sep 18, 2014 at 10:57:48AM +0800, Fam Zheng wrote: BLOCK_OP_TYPE_MIRROR_REPLACE is checked and blocked by block-job-complete during the time the mirror finish when an arbitrary node of the graph must be replaced. It seems to me mirror unblocks this

Re: [Qemu-devel] [PATCH] block: Make op blockers recursive

2014-09-17 Thread Fam Zheng
On Mon, 09/15 15:17, Benoît Canet wrote: On Fri, Sep 12, 2014 at 11:48:33AM +0800, Fam Zheng wrote: On Tue, 09/09 14:28, Benoît Canet wrote: On Tue, Sep 09, 2014 at 01:56:46PM +0200, Kevin Wolf wrote: Am 22.08.2014 um 18:11 hat Benoît Canet geschrieben: Since the block layer code is

Re: [Qemu-devel] [PATCH] block: Make op blockers recursive

2014-09-15 Thread Benoît Canet
On Fri, Sep 12, 2014 at 11:48:33AM +0800, Fam Zheng wrote: On Tue, 09/09 14:28, Benoît Canet wrote: On Tue, Sep 09, 2014 at 01:56:46PM +0200, Kevin Wolf wrote: Am 22.08.2014 um 18:11 hat Benoît Canet geschrieben: Since the block layer code is starting to modify the BDS graph right in

Re: [Qemu-devel] [PATCH] block: Make op blockers recursive

2014-09-11 Thread Kevin Wolf
Am 10.09.2014 um 17:49 hat Benoît Canet geschrieben: On Wed, Sep 10, 2014 at 09:14:35AM -0600, Eric Blake wrote: On 09/10/2014 02:54 AM, Fam Zheng wrote: Let's think of a situation that recursive blockers protect but backing_blocker does not: a - b - c - d c is the backing

Re: [Qemu-devel] [PATCH] block: Make op blockers recursive

2014-09-11 Thread Fam Zheng
On Tue, 09/09 14:28, Benoît Canet wrote: On Tue, Sep 09, 2014 at 01:56:46PM +0200, Kevin Wolf wrote: Am 22.08.2014 um 18:11 hat Benoît Canet geschrieben: Since the block layer code is starting to modify the BDS graph right in the middle of BDS chains (block-mirror's replace parameter

Re: [Qemu-devel] [PATCH] block: Make op blockers recursive

2014-09-10 Thread Fam Zheng
On Thu, 09/04 21:42, Stefan Hajnoczi wrote: On Tue, Aug 26, 2014 at 06:45:54AM +, Benoît Canet wrote: On Tue, Aug 26, 2014 at 12:42:04PM +0800, Fam Zheng wrote: On Mon, 08/25 12:12, Benoît Canet wrote: On Mon, Aug 25, 2014 at 05:37:37PM +0800, Fam Zheng wrote: On Mon, 08/25

Re: [Qemu-devel] [PATCH] block: Make op blockers recursive

2014-09-10 Thread Benoît Canet
On Wed, Sep 10, 2014 at 04:54:19PM +0800, Fam Zheng wrote: On Thu, 09/04 21:42, Stefan Hajnoczi wrote: On Tue, Aug 26, 2014 at 06:45:54AM +, Benoît Canet wrote: On Tue, Aug 26, 2014 at 12:42:04PM +0800, Fam Zheng wrote: On Mon, 08/25 12:12, Benoît Canet wrote: On Mon, Aug 25,

Re: [Qemu-devel] [PATCH] block: Make op blockers recursive

2014-09-10 Thread Eric Blake
On 09/10/2014 02:54 AM, Fam Zheng wrote: Let's think of a situation that recursive blockers protect but backing_blocker does not: a - b - c - d c is the backing file and is therefore protected by the op blocker. The block-commit command works with node-names, however, so we can

Re: [Qemu-devel] [PATCH] block: Make op blockers recursive

2014-09-10 Thread Benoît Canet
On Wed, Sep 10, 2014 at 09:14:35AM -0600, Eric Blake wrote: On 09/10/2014 02:54 AM, Fam Zheng wrote: Let's think of a situation that recursive blockers protect but backing_blocker does not: a - b - c - d c is the backing file and is therefore protected by the op blocker. The

Re: [Qemu-devel] [PATCH] block: Make op blockers recursive

2014-09-10 Thread Fam Zheng
On Wed, 09/10 09:14, Eric Blake wrote: On 09/10/2014 02:54 AM, Fam Zheng wrote: Let's think of a situation that recursive blockers protect but backing_blocker does not: a - b - c - d c is the backing file and is therefore protected by the op blocker. The block-commit command

Re: [Qemu-devel] [PATCH] block: Make op blockers recursive

2014-09-09 Thread Kevin Wolf
Am 22.08.2014 um 18:11 hat Benoît Canet geschrieben: Since the block layer code is starting to modify the BDS graph right in the middle of BDS chains (block-mirror's replace parameter for example) QEMU needs to properly block and unblock whole BDS subtrees; recursion is a neat way to achieve

Re: [Qemu-devel] [PATCH] block: Make op blockers recursive

2014-09-09 Thread Benoît Canet
On Tue, Sep 09, 2014 at 01:56:46PM +0200, Kevin Wolf wrote: Am 22.08.2014 um 18:11 hat Benoît Canet geschrieben: Since the block layer code is starting to modify the BDS graph right in the middle of BDS chains (block-mirror's replace parameter for example) QEMU needs to properly block

Re: [Qemu-devel] [PATCH] block: Make op blockers recursive

2014-09-04 Thread Stefan Hajnoczi
On Tue, Aug 26, 2014 at 06:45:54AM +, Benoît Canet wrote: On Tue, Aug 26, 2014 at 12:42:04PM +0800, Fam Zheng wrote: On Mon, 08/25 12:12, Benoît Canet wrote: On Mon, Aug 25, 2014 at 05:37:37PM +0800, Fam Zheng wrote: On Mon, 08/25 09:06, Benoît Canet wrote: On Mon, Aug 25, 2014

Re: [Qemu-devel] [PATCH] block: Make op blockers recursive

2014-08-26 Thread Benoît Canet
On Tue, Aug 26, 2014 at 12:42:04PM +0800, Fam Zheng wrote: On Mon, 08/25 12:12, Benoît Canet wrote: On Mon, Aug 25, 2014 at 05:37:37PM +0800, Fam Zheng wrote: On Mon, 08/25 09:06, Benoît Canet wrote: On Mon, Aug 25, 2014 at 02:04:24PM +0800, Fam Zheng wrote: On Fri, 08/22 18:11,

Re: [Qemu-devel] [PATCH] block: Make op blockers recursive

2014-08-25 Thread Fam Zheng
On Fri, 08/22 18:11, Benoît Canet wrote: Since the block layer code is starting to modify the BDS graph right in the middle of BDS chains (block-mirror's replace parameter for example) QEMU needs to properly block and unblock whole BDS subtrees; recursion is a neat way to achieve this task.

Re: [Qemu-devel] [PATCH] block: Make op blockers recursive

2014-08-25 Thread Benoît Canet
On Mon, Aug 25, 2014 at 02:04:24PM +0800, Fam Zheng wrote: On Fri, 08/22 18:11, Benoît Canet wrote: Since the block layer code is starting to modify the BDS graph right in the middle of BDS chains (block-mirror's replace parameter for example) QEMU needs to properly block and unblock

Re: [Qemu-devel] [PATCH] block: Make op blockers recursive

2014-08-25 Thread Fam Zheng
On Mon, 08/25 09:06, Benoît Canet wrote: On Mon, Aug 25, 2014 at 02:04:24PM +0800, Fam Zheng wrote: On Fri, 08/22 18:11, Benoît Canet wrote: Since the block layer code is starting to modify the BDS graph right in the middle of BDS chains (block-mirror's replace parameter for example)

Re: [Qemu-devel] [PATCH] block: Make op blockers recursive

2014-08-25 Thread Fam Zheng
On Mon, 08/25 12:12, Benoît Canet wrote: On Mon, Aug 25, 2014 at 05:37:37PM +0800, Fam Zheng wrote: On Mon, 08/25 09:06, Benoît Canet wrote: On Mon, Aug 25, 2014 at 02:04:24PM +0800, Fam Zheng wrote: On Fri, 08/22 18:11, Benoît Canet wrote: Since the block layer code is starting to

[Qemu-devel] [PATCH] block: Make op blockers recursive

2014-08-22 Thread Benoît Canet
Since the block layer code is starting to modify the BDS graph right in the middle of BDS chains (block-mirror's replace parameter for example) QEMU needs to properly block and unblock whole BDS subtrees; recursion is a neat way to achieve this task. This patch also takes care of modifying the op