diff options
author | Fam Zheng <famz@redhat.com> | 2013-08-01 18:12:17 +0800 |
---|---|---|
committer | Michael Tokarev <mjt@tls.msk.ru> | 2013-08-02 18:07:04 +0400 |
commit | 8e50724313895a87057cc243ad805f2eb21feb9f (patch) | |
tree | 293eac7165f9eb4cc30ffe8d38d7c61221a2dbb3 /block/vmdk.c | |
parent | 437de2adc633ed28cdd84bcdffc3430b5ce96be6 (diff) |
vmdk: fix comment for vmdk_co_write_zeroes
The comment was truncated. Add the missing parts, especially explain why
we need zero_dry_run.
Signed-off-by: Fam Zheng <famz@redhat.com>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
Diffstat (limited to 'block/vmdk.c')
-rw-r--r-- | block/vmdk.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/block/vmdk.c b/block/vmdk.c index 3756333c60..e6c50b1e35 100644 --- a/block/vmdk.c +++ b/block/vmdk.c @@ -1200,8 +1200,10 @@ static coroutine_fn int vmdk_co_read(BlockDriverState *bs, int64_t sector_num, /** * vmdk_write: * @zeroed: buf is ignored (data is zero), use zeroed_grain GTE feature - * if possible, otherwise return -ENOTSUP. - * @zero_dry_run: used for zeroed == true only, don't update L2 table, just + * if possible, otherwise return -ENOTSUP. + * @zero_dry_run: used for zeroed == true only, don't update L2 table, just try + * with each cluster. By dry run we can find if the zero write + * is possible without modifying image data. * * Returns: error code with 0 for success. */ @@ -1328,6 +1330,8 @@ static int coroutine_fn vmdk_co_write_zeroes(BlockDriverState *bs, int ret; BDRVVmdkState *s = bs->opaque; qemu_co_mutex_lock(&s->lock); + /* write zeroes could fail if sectors not aligned to cluster, test it with + * dry_run == true before really updating image */ ret = vmdk_write(bs, sector_num, NULL, nb_sectors, true, true); if (!ret) { ret = vmdk_write(bs, sector_num, NULL, nb_sectors, true, false); |