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) {
> > > + bs->drv->bdrv_co_invalidate_cache(bs, &local_err);
> > > + if (local_err) {
> > > + bs->open_flags |= BDRV_O_INACTIVE;
> >
> > This doesn't feel like the right place. The flag is cleared by the
> > caller, so it should also be set again on failure by the caller and not
> > by this function.
> >
> > What bdrv_co_invalidate_cache() could do is assert that BDRV_O_INACTIVE
> > is cleared when it's called.
>
> Do you think this would be handled more easily into its own series?
>
> In general, the work in this series is more incremental than its size
> suggests. Perhaps it should be flushed out in smaller pieces.
Smaller pieces are always easier to handle, so if things make sense
independently, splitting them off is usually a good idea.
Kevin