On 08.01.19 14:45, Vladimir Sementsov-Ogievskiy wrote: > 30.12.2018 23:09, Andrey Shinkevich wrote: >> The copy-on-read filter is applied to block-stream operation. >> It is necessary for further block discard option. > > If we move to c-o-r filter in stream, I think we should: > 1. get rid of COPY_ON_READ flag in stream code (so, this thing to be done in > one place) > 2. add base parameter to c-o-r filter, to not copy things that are below base. > > Current behavior of stream is enabling copy-on-read on bs during stream if > base == NULL. > So, if we just add c-o-r filter, we will copy extra blocks. On the other > hand, if we > support base parameter in c-o-r filter we will involve guest reads to the > stream > process for cases with base != NULL, so stream operation should become more > efficient. > > So for me the following sequence seems reasonable: > > - prepare iotests for graph changes > - add base parameter to c-o-r filter > - use c-o-r in stream and drop COPY_ON_READ flag from stream code > > then (may be in separate series) add discard functionality. And looks like > again, it should > be property of c-o-r filter, not stream job itself, to involve guest reads to > discarding too. > > In general, Max, is that correspond to what you mean?
Yep, that sounds good to me. Max
signature.asc
Description: OpenPGP digital signature