On Fri, Mar 10, 2023 at 06:31:03PM +0800, Sam Li wrote: > @@ -2338,9 +2424,15 @@ static int coroutine_fn raw_co_prw(BlockDriverState *bs, uint64_t offset, > { > BDRVRawState *s = bs->opaque; > RawPosixAIOData acb; > + int ret; > > if (fd_open(bs) < 0) > return -EIO; > +#if defined(CONFIG_BLKZONED) > + if (bs->bl.wps) { > + qemu_co_mutex_lock(&bs->bl.wps->colock); > + } > +#endif Is the lock only needed by QEMU_AIO_WRITE requests? If yes, can we skip it for other request types to avoid serializing those requests?