On Tue, 05/24 10:40, Peter Lieven wrote: > until now the allocation map was used only as a hint if a cluster > is allocated or not. If a block was not allocated (or Qemu had > no info about the allocation status) a get_block_status call was > issued to check the allocation status and possibly avoid > a subsequent read of unallocated sectors. If a block known to be > allocated the get_block_status call was omitted. In the other case > a get_block_status call was issued before every read to avoid > the necessity for a consistent allocation map. To avoid the > potential overhead of calling get_block_status for each and > every read request this took only place for the bigger requests. > > This patch enhances this mechanism to cache the allocation > status and avoid calling get_block_status for blocks where > the allocation status has been queried before. This allows > for bypassing the read request even for smaller requests and > additionally omits calling get_block_status for known to be > unallocated blocks. > > Signed-off-by: Peter Lieven <p...@kamp.de> > --- > v2->v3: - fix wording errors [Fam] > - reinit allocmap only if allocmap is present in > bdrv_reopen_commit
I did an incremental review and the diff-of-diff looks good to me, so: Reviewed-by: Fam Zheng <f...@redhat.com>