diff options
Diffstat (limited to 'block/qcow2.c')
-rw-r--r-- | block/qcow2.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/block/qcow2.c b/block/qcow2.c index 1f80961e1b..801e29fc56 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -21,6 +21,7 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ + #include "qemu/osdep.h" #include "block/block_int.h" #include "sysemu/block-backend.h" @@ -28,9 +29,10 @@ #include <zlib.h> #include "block/qcow2.h" #include "qemu/error-report.h" +#include "qapi/error.h" #include "qapi/qmp/qerror.h" -#include "qapi/qmp/qbool.h" -#include "qapi/qmp/types.h" +#include "qapi/qmp/qdict.h" +#include "qapi/qmp/qstring.h" #include "qapi-event.h" #include "trace.h" #include "qemu/option_int.h" @@ -1477,7 +1479,7 @@ static int qcow2_do_open(BlockDriverState *bs, QDict *options, int flags, /* Initialise locks */ qemu_co_mutex_init(&s->lock); - bs->supported_zero_flags = BDRV_REQ_MAY_UNMAP; + bs->supported_zero_flags = header.version >= 3 ? BDRV_REQ_MAY_UNMAP : 0; /* Repair image if dirty */ if (!(flags & (BDRV_O_CHECK | BDRV_O_INACTIVE)) && !bs->read_only && @@ -3769,7 +3771,6 @@ static int qcow2_get_info(BlockDriverState *bs, BlockDriverInfo *bdi) { BDRVQcow2State *s = bs->opaque; bdi->unallocated_blocks_are_zero = true; - bdi->can_write_zeroes_with_unmap = (s->qcow_version >= 3); bdi->cluster_size = s->cluster_size; bdi->vm_state_offset = qcow2_vm_state_offset(s); return 0; |