On 13.01.20 17:11, Alberto Garcia wrote: > The standard cluster descriptor in L2 table entries has a field to > store the host cluster offset. When we need to get that offset from an > entry we use L2E_OFFSET_MASK to ensure that we only use the bits that > belong to that field. > > But while that mask is used every time we read from an L2 entry, it > is never used when we write to it. Due to the QCOW_MAX_CLUSTER_OFFSET > limit set in the cluster allocation code QEMU can never produce > offsets that don't fit in that field so any such offset would indicate > a bug in QEMU. > > Compressed cluster descriptors contain two fields (host cluster offset > and size of the compressed data) and the situation with them is > similar. In this case the masks are not constant but are stored in the > csize_mask and cluster_offset_mask fields of BDRVQcow2State. > > Signed-off-by: Alberto Garcia <[email protected]> > Reviewed-by: Eric Blake <[email protected]> > --- > v2: the previous version was sent months ago but fell through the > cracks, so I'm resending it. I rebased it although the patch > doesn't need any changes.
Sorry. :-/ Thanks, applied to my block branch: https://git.xanclic.moe/XanClic/qemu/commits/branch/block Max
signature.asc
Description: OpenPGP digital signature
