Re: [PATCH v6 21/33] block: move BQL logic of bdrv_co_invalidate_cache in bdrv_activate

2022-02-02 Thread Kevin Wolf
Am 02.02.2022 um 18:27 hat Paolo Bonzini geschrieben: > On 1/27/22 12:03, Kevin Wolf wrote: > > > +int coroutine_fn bdrv_co_invalidate_cache(BlockDriverState *bs, Error > > > **errp) > > > +{ > > > +Error *local_err = NULL; > > > + > > > +if (bs->drv->bdrv_co_invalidate_cache) { > > > +

Re: [PATCH v6 21/33] block: move BQL logic of bdrv_co_invalidate_cache in bdrv_activate

2022-02-02 Thread Paolo Bonzini
On 1/27/22 12:03, Kevin Wolf wrote: +int coroutine_fn bdrv_co_invalidate_cache(BlockDriverState *bs, Error **errp) +{ +Error *local_err = NULL; + +if (bs->drv->bdrv_co_invalidate_cache) { +bs->drv->bdrv_co_invalidate_cache(bs, &local_err); +if (local_err) { +bs

Re: [PATCH v6 21/33] block: move BQL logic of bdrv_co_invalidate_cache in bdrv_activate

2022-01-27 Thread Kevin Wolf
Am 21.01.2022 um 18:05 hat Emanuele Giuseppe Esposito geschrieben: > Split bdrv_co_invalidate cache in two: the GS code that takes > care of permissions and running GS callbacks, and leave only the > I/O code (->bdrv_co_invalidate_cache) running in the I/O coroutine. > > The only side effect is th

Re: [PATCH v6 21/33] block: move BQL logic of bdrv_co_invalidate_cache in bdrv_activate

2022-01-26 Thread Hanna Reitz
On 21.01.22 18:05, Emanuele Giuseppe Esposito wrote: Split bdrv_co_invalidate cache in two: the GS code that takes care of permissions and running GS callbacks, and leave only the I/O code (->bdrv_co_invalidate_cache) running in the I/O coroutine. The only side effect is that bdrv_co_invalidate_

[PATCH v6 21/33] block: move BQL logic of bdrv_co_invalidate_cache in bdrv_activate

2022-01-21 Thread Emanuele Giuseppe Esposito
Split bdrv_co_invalidate cache in two: the GS code that takes care of permissions and running GS callbacks, and leave only the I/O code (->bdrv_co_invalidate_cache) running in the I/O coroutine. The only side effect is that bdrv_co_invalidate_cache is not recursive anymore, and so is every direct