diff options
author | Stefan Hajnoczi <stefanha@redhat.com> | 2014-03-26 13:05:56 +0100 |
---|---|---|
committer | Stefan Hajnoczi <stefanha@redhat.com> | 2014-04-01 15:22:35 +0200 |
commit | b404bf854217dbe8a5649449eb3ad33777f7d900 (patch) | |
tree | 3fc3cd3965a783341aa1653d147ad5e9aee8ef7e /hmp-commands.hx | |
parent | 73ed27ec28a1dbebdd2ae792284151f029950fbe (diff) |
dmg: drop broken bdrv_pread() loop
It is not necessary to check errno for EINTR and the block layer does
not produce short reads. Therefore we can drop the loop that attempts
to read a compressed chunk.
The loop is buggy because it incorrectly adds the transferred bytes
twice:
do {
ret = bdrv_pread(...);
i += ret;
} while (ret >= 0 && ret + i < s->lengths[chunk]);
Luckily we can drop the loop completely and perform a single
bdrv_pread().
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'hmp-commands.hx')
0 files changed, 0 insertions, 0 deletions