Re: [Qemu-devel] [PATCH v10 03/16] block: Use block_job_add_bdrv() in mirror_start_job()
Am 11.10.2016 um 15:46 hat Alberto Garcia geschrieben: > On Mon 10 Oct 2016 06:03:41 PM CEST, Kevin Wolf wrote: > > >> Use block_job_add_bdrv() instead of blocking all operations in > >> mirror_start_job() and unblocking them in mirror_exit(). > >> > >> Signed-off-by: Alberto Garcia> > > > Compared to the old code, this unblocks BLOCK_OP_TYPE_DATAPLANE, i.e. > > you can now run a dataplane device on a BDS used as the mirror target. > > > > This means that the target could require a different AioContext than > > the source, which we can't support. So it seems unlikely to me that we > > can lift this restriction. > > Thanks, I'll fix it. > > What happens if you run a dataplane on the source, though? That's > currently allowed as far as I'm aware. Wouldn't that have a similar > effect? The block job takes care to put the target into the same dataplane AioContext then. The job doesn't really care whether it works in the main thread or a separate I/O thread, it just requires that it's a single context, which is currently defined by the source. Kevin
Re: [Qemu-devel] [PATCH v10 03/16] block: Use block_job_add_bdrv() in mirror_start_job()
On Mon 10 Oct 2016 06:03:41 PM CEST, Kevin Wolf wrote: >> Use block_job_add_bdrv() instead of blocking all operations in >> mirror_start_job() and unblocking them in mirror_exit(). >> >> Signed-off-by: Alberto Garcia> > Compared to the old code, this unblocks BLOCK_OP_TYPE_DATAPLANE, i.e. > you can now run a dataplane device on a BDS used as the mirror target. > > This means that the target could require a different AioContext than > the source, which we can't support. So it seems unlikely to me that we > can lift this restriction. Thanks, I'll fix it. What happens if you run a dataplane on the source, though? That's currently allowed as far as I'm aware. Wouldn't that have a similar effect? Berto
Re: [Qemu-devel] [PATCH v10 03/16] block: Use block_job_add_bdrv() in mirror_start_job()
On 10/10/2016 18:03, Kevin Wolf wrote: >> > Use block_job_add_bdrv() instead of blocking all operations in >> > mirror_start_job() and unblocking them in mirror_exit(). >> > >> > Signed-off-by: Alberto Garcia> Compared to the old code, this unblocks BLOCK_OP_TYPE_DATAPLANE, i.e. > you can now run a dataplane device on a BDS used as the mirror target. > > This means that the target could require a different AioContext than the > source, which we can't support. So it seems unlikely to me that we can > lift this restriction. Indeed, this is in the pipeline, but still quite far away! Paolo
Re: [Qemu-devel] [PATCH v10 03/16] block: Use block_job_add_bdrv() in mirror_start_job()
Am 06.10.2016 um 15:02 hat Alberto Garcia geschrieben: > Use block_job_add_bdrv() instead of blocking all operations in > mirror_start_job() and unblocking them in mirror_exit(). > > Signed-off-by: Alberto GarciaCompared to the old code, this unblocks BLOCK_OP_TYPE_DATAPLANE, i.e. you can now run a dataplane device on a BDS used as the mirror target. This means that the target could require a different AioContext than the source, which we can't support. So it seems unlikely to me that we can lift this restriction. Kevin