]> git.proxmox.com Git - mirror_qemu.git/commit - block/qcow2.c
qcow2: Allow discard of final unaligned cluster
authorEric Blake <eblake@redhat.com>
Fri, 7 Apr 2017 01:37:09 +0000 (20:37 -0500)
committerMax Reitz <mreitz@redhat.com>
Fri, 28 Apr 2017 14:02:03 +0000 (16:02 +0200)
commit048c5fd1bfc787adcb1b726ce997e87fe44545fd
treefad9a99219396240b4a7612ddd2ee38ff3a60b42
parentf59adb325618a2d2ba16aece551e7ab6acadb0ae
qcow2: Allow discard of final unaligned cluster

As mentioned in commit 0c1bd46, we ignored requests to
discard the trailing cluster of an unaligned image.  While
discard is an advisory operation from the guest standpoint,
(and we are therefore free to ignore any request), our
qcow2 implementation exploits the fact that a discarded
cluster reads back as 0.  As long as we discard on cluster
boundaries, we are fine; but that means we could observe
non-zero data leaked at the tail of an unaligned image.

Enhance iotest 66 to cover this case, and fix the implementation
to honor a discard request on the final partial cluster.

Signed-off-by: Eric Blake <eblake@redhat.com>
Message-id: 20170407013709.18440-1-eblake@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
block/qcow2.c
tests/qemu-iotests/066
tests/qemu-iotests/066.out