[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC PATCH v2 06/25] include/block/block_int: split header into I/O
From: |
Stefan Hajnoczi |
Subject: |
Re: [RFC PATCH v2 06/25] include/block/block_int: split header into I/O and global state API |
Date: |
Thu, 7 Oct 2021 14:38:38 +0100 |
On Thu, Oct 07, 2021 at 01:30:42PM +0200, Emanuele Giuseppe Esposito wrote:
>
>
> On 07/10/2021 12:52, Stefan Hajnoczi wrote:
> > On Tue, Oct 05, 2021 at 10:31:56AM -0400, Emanuele Giuseppe Esposito wrote:
> > > +int coroutine_fn bdrv_co_copy_range_from(BdrvChild *src, int64_t
> > > src_offset,
> > > + BdrvChild *dst, int64_t
> > > dst_offset,
> > > + int64_t bytes,
> > > + BdrvRequestFlags read_flags,
> > > + BdrvRequestFlags write_flags);
> > > +int coroutine_fn bdrv_co_copy_range_to(BdrvChild *src, int64_t
> > > src_offset,
> > > + BdrvChild *dst, int64_t
> > > dst_offset,
> > > + int64_t bytes,
> > > + BdrvRequestFlags read_flags,
> > > + BdrvRequestFlags write_flags);
> >
> > These look like I/O APIs to me. Are they in the GS API because only
> > qemu-img.c call copy_range? I thought SCSI emulation might call it too,
> > but grep says otherwise.
>
> SCSI (iscsi.c) implements the function pointer
> (*bdrv_co_copy_range_from/to), but does not call the function itself.
> However, later in the patches I put the function pointer as I/O.
I meant the SCSI target emulation in hw/scsi/ where the SCSI commands
that require copy_range could be handled.
> These two functions are only tested by test-replication and thus are always
> under BQL when tested. But after looking at them again, and since they
> internally use only I/O APIs, I think we can move them to the I/O API.
Okay, great.
Stefan
signature.asc
Description: PGP signature
- Re: [RFC PATCH v2 04/25] include/block/block: split header into I/O and global state API, (continued)
Re: [RFC PATCH v2 04/25] include/block/block: split header into I/O and global state API, Daniel P . Berrangé, 2021/10/07
[RFC PATCH v2 05/25] assertions for block global state API, Emanuele Giuseppe Esposito, 2021/10/05
[RFC PATCH v2 06/25] include/block/block_int: split header into I/O and global state API, Emanuele Giuseppe Esposito, 2021/10/05
[RFC PATCH v2 07/25] assertions for block_int global state API, Emanuele Giuseppe Esposito, 2021/10/05
[RFC PATCH v2 08/25] block: introduce assert_bdrv_graph_writable, Emanuele Giuseppe Esposito, 2021/10/05
[RFC PATCH v2 10/25] assertions for blockjob_int.h, Emanuele Giuseppe Esposito, 2021/10/05
[RFC PATCH v2 12/25] assertions for blockob.h global state API, Emanuele Giuseppe Esposito, 2021/10/05