Message ID | 1415552fc60acc658e3f80751d9ecd63da2b863d.1584468723.git.berto@igalia.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add subcluster allocation to qcow2 | expand |
17.03.2020 21:16, Alberto Garcia wrote: > Ideally it should be possible to zero individual subclusters using > this function, but this is currently not implemented. > > Signed-off-by: Alberto Garcia<berto@igalia.com> > Reviewed-by: Max Reitz<mreitz@redhat.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
diff --git a/block/qcow2.c b/block/qcow2.c index ad230ed1b1..d406ef355b 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -3743,7 +3743,9 @@ static coroutine_fn int qcow2_co_pwrite_zeroes(BlockDriverState *bs, bytes = s->cluster_size; nr = s->cluster_size; ret = qcow2_get_host_offset(bs, offset, &nr, &off, &type); - if (ret < 0 || + /* TODO: allow zeroing separate subclusters, we only allow + * zeroing full clusters at the moment. */ + if (ret < 0 || nr != bytes || (type != QCOW2_SUBCLUSTER_UNALLOCATED_PLAIN && type != QCOW2_SUBCLUSTER_UNALLOCATED_ALLOC && type != QCOW2_SUBCLUSTER_ZERO_PLAIN &&