06.06.2019 16:55, Eric Blake wrote: > On 6/6/19 8:48 AM, Vladimir Sementsov-Ogievskiy wrote: >> Hi all! >> >> Here is small new io API: blk_co_pcache, which does copy-on-read without >> extra buffer for read data. This means that only parts that needs COR >> will be actually read and only corresponding buffers allocated, no more. >> >> This allows to improve a bit block-stream and NBD_CMD_CACHE > > I'd really like to see qemu-io gain access to calling this command, so > that we can add iotests coverage of this new feature. Note that the > in-development libnbd > (https://github.com/libguestfs/libnbd/commits/master) is also usable as > an NBD client that can drive NBD_CMD_CACHE, although it's still new > enough that we probably don't want to rely on it being available yet. >
Hmm, don't you think that blk_co_pcache sends NBD_CMD_CACHE if called on nbd driver? I didn't implement it. But may be I should.. May aim was only to avoid extra allocation and unnecessary reads. But if we implement full-featured io request, what should it do? On qcow2 with backing it should pull data from backing to top, like in copy-on-read. And for nbd it will send NBD_CMD_CACHE? These semantics seems different, but why not? -- Best regards, Vladimir