> Oops, thanks for catching this. I thought this was fixed long ago, but > apparently it wasn't.
Not me, the testing tool caught it without my supervision. :-) > > @@ -495,8 +497,10 @@ static void qcow2_aio_read_cb(void *opaque, int ret) > > } > > } else if (acb->cluster_offset & QCOW_OFLAG_COMPRESSED) { > > /* add AIO support for compressed blocks ? */ > > - if (qcow2_decompress_cluster(bs, acb->cluster_offset) < 0) > > + if (qcow2_decompress_cluster(bs, acb->cluster_offset) < 0) { > > + ret = -EIO; > > goto done; > > + } > > I think here we should change qcow2_decompessed_cluster() to return the > real error code instead of -1, so that we can pass it on instead of > turning everything into -EIO. I agree. Could you please prepare the official patch? I just throw in ideas I got from my testing tool.