#
8aa1331c |
| 06-Aug-2013 |
Fam Zheng <famz@redhat.com> |
vmdk: check granularity field in opening
Granularity is used to calculate the cluster size and allocate r/w buffer. Check the value from image before using it, so we don't abort() for unbounded memo
vmdk: check granularity field in opening
Granularity is used to calculate the cluster size and allocate r/w buffer. Check the value from image before using it, so we don't abort() for unbounded memory allocation.
Signed-off-by: Fam Zheng <famz@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
show more ...
|
#
e98768d4 |
| 06-Aug-2013 |
Fam Zheng <famz@redhat.com> |
vmdk: use unsigned values for on disk header fields
The size and offset fields are all non-negative values, use uint64_t for them to avoid getting negative in memory value by int overflow.
Signed-o
vmdk: use unsigned values for on disk header fields
The size and offset fields are all non-negative values, use uint64_t for them to avoid getting negative in memory value by int overflow.
Signed-off-by: Fam Zheng <famz@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
show more ...
|
#
5d8caa54 |
| 06-Aug-2013 |
Fam Zheng <famz@redhat.com> |
vmdk: Make VMDK3Header and VmdkGrainMarker QEMU_PACKED
It's best to make it consistent that all on disk structures are QEMU_PACKED.
Signed-off-by: Fam Zheng <famz@redhat.com> Signed-off-by: Kevin W
vmdk: Make VMDK3Header and VmdkGrainMarker QEMU_PACKED
It's best to make it consistent that all on disk structures are QEMU_PACKED.
Signed-off-by: Fam Zheng <famz@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
show more ...
|
Revision tags: qemu-kvm-0.12.1.2-2.384.el6, qemu-kvm-0.12.1.2-2.383.el6 |
|
#
f5e7dad8 |
| 05-Aug-2013 |
Anthony Liguori <aliguori@us.ibm.com> |
Merge remote-tracking branch 'mjt/trivial-patches' into staging
# By Fam Zheng (1) and others # Via Michael Tokarev * mjt/trivial-patches: vmdk: fix comment for vmdk_co_write_zeroes memory.c: dr
Merge remote-tracking branch 'mjt/trivial-patches' into staging
# By Fam Zheng (1) and others # Via Michael Tokarev * mjt/trivial-patches: vmdk: fix comment for vmdk_co_write_zeroes memory.c: drop kvm.h dependency block/iscsi.c: Fix printf format error. qemu-ga: build it even if !system
Message-id: 1375453248-7178-1-git-send-email-mjt@msgid.tls.msk.ru Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
show more ...
|
Revision tags: v1.6.0-rc1 |
|
#
8e507243 |
| 01-Aug-2013 |
Fam Zheng <famz@redhat.com> |
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: M
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>
show more ...
|
Revision tags: qemu-kvm-1.5.2-2.el7, v1.6.0-rc0, qemu-kvm-0.12.1.2-2.382.el6, qemu-kvm-0_12_1_2-2_382_el6, qemu-kvm-1.5.2-1.el7, v1.5.2, qemu-kvm-0.12.1.2-2.381.el6, qemu-kvm-0.12.1.2-2.380.el6, qemu-1.5.2, qemu-kvm-0.12.1.2-2.379.el6, vfio-for-qemu-1.6, qemu-kvm-0.12.1.2-2.378.el6, qemu-kvm-0.12.1.2-2.355.el6_4.6 |
|
#
9b4abb46 |
| 07-Jul-2013 |
Anthony Liguori <aliguori@us.ibm.com> |
Merge remote-tracking branch 'stefanha/block' into staging
# By Fam Zheng (2) and Stefan Hajnoczi (1) # Via Stefan Hajnoczi * stefanha/block: block: fix bdrv_flush() ordering in bdrv_close() cur
Merge remote-tracking branch 'stefanha/block' into staging
# By Fam Zheng (2) and Stefan Hajnoczi (1) # Via Stefan Hajnoczi * stefanha/block: block: fix bdrv_flush() ordering in bdrv_close() curl: refuse to open URL from HTTP server without range support vmdk: Implement .bdrv_has_zero_init
Message-id: 1373023972-3587-1-git-send-email-stefanha@redhat.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
show more ...
|
Revision tags: qemu-kvm-1.5.1-2.el7 |
|
#
da7a50f9 |
| 30-Jun-2013 |
Fam Zheng <famz@redhat.com> |
vmdk: Implement .bdrv_has_zero_init
Depending on the subformat, has_zero_init queries underlying storage for flat extent. If it has a flat extent and its underlying storage doesn't have zero init, r
vmdk: Implement .bdrv_has_zero_init
Depending on the subformat, has_zero_init queries underlying storage for flat extent. If it has a flat extent and its underlying storage doesn't have zero init, return 0. Otherwise return 1.
Aligns the operator assignments.
Signed-off-by: Fam Zheng <famz@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
show more ...
|
#
36125631 |
| 28-Jun-2013 |
Anthony Liguori <aliguori@us.ibm.com> |
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Stefan Hajnoczi (11) and others # Via Kevin Wolf * kwolf/for-anthony: cmd646: fix build when DEBUG_IDE is enabled. block: chang
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Stefan Hajnoczi (11) and others # Via Kevin Wolf * kwolf/for-anthony: cmd646: fix build when DEBUG_IDE is enabled. block: change default of .has_zero_init to 0 vpc: Implement .bdrv_has_zero_init vmdk: remove wrong calculation of relative path gluster: Return bdrv_has_zero_init = 0 block/ssh: Set bdrv_has_zero_init according to the file type. block: Make BlockJobTypes const qemu-iotests: add 055 drive-backup test case qemu-iotests: extract wait_until_completed() into iotests.py blockdev: add Abort transaction blockdev: add DriveBackup transaction blockdev: allow BdrvActionOps->commit() to be NULL blockdev: rename BlkTransactionStates to singular block: add drive-backup QMP command blockdev: use bdrv_getlength() in qmp_drive_mirror() blockdev: drop redundant proto_drv check block: add basic backup support to block driver block: add bdrv_add_before_write_notifier() notify: add NotiferWithReturn so notifier list can abort raw-posix: Fix /dev/cdrom magic on OS X
Message-id: 1372429509-29642-1-git-send-email-kwolf@redhat.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
show more ...
|
Revision tags: qemu-kvm-1.5.1-1.el7, qemu-1.5.1, v1.5.1, qemu-kvm-0.12.1.2-2.377.el6 |
|
#
8ed610a1 |
| 26-Jun-2013 |
Fam Zheng <famz@redhat.com> |
vmdk: remove wrong calculation of relative path
When creating image with backing file, the driver tries to calculate the relative path from created image file to backing file, but the path computati
vmdk: remove wrong calculation of relative path
When creating image with backing file, the driver tries to calculate the relative path from created image file to backing file, but the path computation is incorrect. e.g.:
$ qemu-img create -f vmdk -b vmdk-data-disk.vmdk vmdk-data-snapshot1 Formatting 'vmdk-data-snapshot1', fmt=vmdk size=10737418240 backing_file='vmdk-data-disk.vmdk' compat6=off zeroed_grain=off
$ qemu-img info vmdk-data-snapshot1 image: vmdk-data-snapshot1 file format: vmdk virtual size: 10G (10737418240 bytes) disk size: 12K -> backing file: disk.vmdk
The common part in file names, "vmdk-data-", is incorrectly forgotten by relative_path(). As the VMDK specification has no restriction on parentNameHint to be relative path, we simply remove this by using the backing_file option.
Cc: qemu-stable@nongnu.org Signed-off-by: Fam Zheng <famz@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
show more ...
|
#
baf8673c |
| 24-Jun-2013 |
Anthony Liguori <aliguori@us.ibm.com> |
Merge remote-tracking branch 'stefanha/block' into staging
# By Kevin Wolf (22) and Fam Zheng (1) # Via Stefan Hajnoczi * stefanha/block: (23 commits) vmdk: refuse to open higher version than supp
Merge remote-tracking branch 'stefanha/block' into staging
# By Kevin Wolf (22) and Fam Zheng (1) # Via Stefan Hajnoczi * stefanha/block: (23 commits) vmdk: refuse to open higher version than supported block: Always enable discard on the protocol level qcow2: Batch discards qcow2: Options to enable discard for freed clusters qcow2: Add refcount update reason to all callers Revert "block: Disable driver-specific options for 1.5" ide: Clean up ide_exec_cmd() ide: Convert SMART commands to ide_cmd_table handler ide: Convert CF-ATA commands to ide_cmd_table handler ide: Convert ATAPI commands to ide_cmd_table handler ide: Convert SEEK to ide_cmd_table handler ide: Convert FLUSH CACHE to ide_cmd_table handler ide: Convert SET FEATURES to ide_cmd_table handler ide: Convert CHECK POWER MDOE to ide_cmd_table handler ide: Convert READ NATIVE MAX ADDRESS to ide_cmd_table handler ide: Convert DMA read/write commands to ide_cmd_table handler ide: Convert PIO read/write commands to ide_cmd_table handler ide: Convert read/write multiple commands to ide_cmd_table handler ide: Convert verify commands to ide_cmd_table handler ide: Convert cmd_nop commands to ide_cmd_table handler ...
Message-id: 1372065035-19601-1-git-send-email-stefanha@redhat.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
show more ...
|
Revision tags: qemu-kvm-0.12.1.2-2.376.el6 |
|
#
96c51eb5 |
| 12-Jun-2013 |
Fam Zheng <famz@redhat.com> |
vmdk: refuse to open higher version than supported
Refuse to open higher version for safety.
Although we try to be compatible with published VMDK spec, VMware has newer version from ESXi 5.1 export
vmdk: refuse to open higher version than supported
Refuse to open higher version for safety.
Although we try to be compatible with published VMDK spec, VMware has newer version from ESXi 5.1 exported OVF/OVA, which we have no knowledge what's changed in it. And it is very likely to have more new versions in the future, so it's not safe to open them blindly.
Signed-off-by: Fam Zheng <famz@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
show more ...
|
#
128dc2d1 |
| 17-Jun-2013 |
Anthony Liguori <aliguori@us.ibm.com> |
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Liu Yuan (2) and others # Via Kevin Wolf * kwolf/for-anthony: vmdk: Allow reading variable size descriptor files NVMe: Initial
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Liu Yuan (2) and others # Via Kevin Wolf * kwolf/for-anthony: vmdk: Allow reading variable size descriptor files NVMe: Initial commit for new storage interface curl: Don't set curl options on the handle just before it's going to be deleted. vmdk: byteswap VMDK4Header.desc_offset field block/curl.c: Refuse to open the handle for writes. sheepdog: support 'qemu-img snapshot -a' sheepdog: fix snapshot tag initialization
Message-id: 1371486710-17793-1-git-send-email-kwolf@redhat.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
show more ...
|
#
0bed087d |
| 12-Jun-2013 |
Evgeny Budilovsky <evgeny.budilovsky@ravellosystems.com> |
vmdk: Allow reading variable size descriptor files
the hard-coded 2k buffer on the stack won't allow reading big descriptor files which can be generated when storing big images. For example 500G vmd
vmdk: Allow reading variable size descriptor files
the hard-coded 2k buffer on the stack won't allow reading big descriptor files which can be generated when storing big images. For example 500G vmdk splitted to 2G chunks.
Signed-off-by: Evgeny Budilovsky <evgeny.budilovsky@ravellosystems.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
show more ...
|
#
5a394b9e |
| 10-Jun-2013 |
Stefan Hajnoczi <stefanha@redhat.com> |
vmdk: byteswap VMDK4Header.desc_offset field
Remember to byteswap VMDK4Header.desc_offset on big-endian machines.
Cc: qemu-stable@nongnu.org Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Sig
vmdk: byteswap VMDK4Header.desc_offset field
Remember to byteswap VMDK4Header.desc_offset on big-endian machines.
Cc: qemu-stable@nongnu.org Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
show more ...
|
Revision tags: qemu-kvm-0.12.1.2-2.375.el6, qemu-kvm-0.12.1.2-2.374.el6, qemu-kvm-0.12.1.2-2.373.el6, qemu-kvm-0.12.1.2-2.372.el6, qemu-kvm-0.12.1.2-2.371.el6, qemu-kvm-1.5.0-2.el7, v1.4.2, qemu-kvm-0.12.1.2-2.355.el6_4.5, qemu-kvm-1.5.0-1.el7, qemu-kvm-0.12.1.2-2.370.el6, qemu-1.5.0, v1.5.0, v1.5.0-rc3, v1.5.0-rc2, qemu-kvm-0.12.1.2-2.369.el6, qemu-kvm-0.12.1.2-2.368.el6, qemu-kvm-0.12.1.2-2.367.el6, v1.5.0-rc1, qemu-kvm-0.12.1.2-2.366.el6, qemu-kvm-0.12.1.2-2.365.el6, qemu-kvm-0.12.1.2-2.320.el6, qemu-kvm-0.12.1.2-2.364.el6, v1.5.0-rc0, qemu-kvm-0.12.1.2-2.363.el6 |
|
#
25565e85 |
| 03-May-2013 |
Anthony Liguori <aliguori@us.ibm.com> |
Merge remote-tracking branch 'stefanha/block' into staging
# By Fam Zheng (8) and others # Via Stefan Hajnoczi * stefanha/block: qemu-iotests: Filter out 'adapter_type' nbd: support large NBD re
Merge remote-tracking branch 'stefanha/block' into staging
# By Fam Zheng (8) and others # Via Stefan Hajnoczi * stefanha/block: qemu-iotests: Filter out 'adapter_type' nbd: support large NBD requests nbd: use g_slice_new() instead of a freelist qemu-iotests: Filter out vmdk creation options vmdk: add bdrv_co_write_zeroes vmdk: store fields of VmdkMetaData in cpu endian vmdk: change magic number to macro vmdk: Add option to create zeroed-grain image vmdk: add support for “zeroed‐grain” GTE vmdk: named return code. blockdev: Replace "undefined error" in qmp_block_resize block: add read-only support to VHDX image format. block: initial VHDX driver support framework - supports open and probe block: vhdx header for the QEMU support of VHDX images qemu: add castagnoli crc32c checksum algorithm
show more ...
|
Revision tags: qemu-kvm-0.12.1.2-2.355.el6_4.4, qemu-kvm-1.4.0-4.el7 |
|
#
cdeaf1f1 |
| 01-May-2013 |
Fam Zheng <famz@redhat.com> |
vmdk: add bdrv_co_write_zeroes
Use special offset to write zeroes efficiently, when zeroed-grain GTE is available. If zero-write an allocated cluster, cluster is leaked because its offset pointer is
vmdk: add bdrv_co_write_zeroes
Use special offset to write zeroes efficiently, when zeroed-grain GTE is available. If zero-write an allocated cluster, cluster is leaked because its offset pointer is overwritten by "0x1".
Signed-off-by: Fam Zheng <famz@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
show more ...
|
#
e304e8e5 |
| 01-May-2013 |
Fam Zheng <famz@redhat.com> |
vmdk: store fields of VmdkMetaData in cpu endian
Previously VmdkMetaData.offset is stored little endian while other fields are cpu endian. This changes offset to cpu endian and convert before writin
vmdk: store fields of VmdkMetaData in cpu endian
Previously VmdkMetaData.offset is stored little endian while other fields are cpu endian. This changes offset to cpu endian and convert before writing to image. Signed-off-by: Fam Zheng <famz@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
show more ...
|
#
95b0aa42 |
| 01-May-2013 |
Fam Zheng <famz@redhat.com> |
vmdk: change magic number to macro
Two hard coded flag bits are changed to macros. Signed-off-by: Fam Zheng <famz@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
|
#
69e0b6df |
| 01-May-2013 |
Fam Zheng <famz@redhat.com> |
vmdk: Add option to create zeroed-grain image
Add image create option "zeroed-grain" to enable zeroed-grain GTE feature of vmdk sparse extents. When this option is on, header version of newly create
vmdk: Add option to create zeroed-grain image
Add image create option "zeroed-grain" to enable zeroed-grain GTE feature of vmdk sparse extents. When this option is on, header version of newly created extent will be 2 and VMDK4_FLAG_ZERO_GRAIN flag bit will be set.
Signed-off-by: Fam Zheng <famz@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
show more ...
|
#
14ead646 |
| 01-May-2013 |
Fam Zheng <famz@redhat.com> |
vmdk: add support for “zeroed‐grain” GTE
Introduced support for zeroed-grain GTE, as specified in Virtual Disk Format 5.0[1].
Recent VMware hosted platform products support a new “zeroed‐grain”
vmdk: add support for “zeroed‐grain” GTE
Introduced support for zeroed-grain GTE, as specified in Virtual Disk Format 5.0[1].
Recent VMware hosted platform products support a new “zeroed‐grain” grain table entry (GTE). The zeroed‐grain GTE returns all zeros on read. In other words, the zeroed‐grain GTE indicates that a grain in the child disk is zero‐filled but does not actually occupy space in storage. A sparse extent with zeroed‐grain GTE has the following in its header:
* SparseExtentHeader.version = 2 * SparseExtentHeader.flags has bit 2 set
Other than the new flag and the possibly zeroed‐grain GTE, version 2 sparse extents are identical to version 1. Also, a zeroed‐grain GTE has value 0x1 in the GT table.
[1] Virtual Disk Format 5.0, http://www.vmware.com/support/developer/vddk/vmdk_50_technote.pdf?src=vmdk Signed-off-by: Fam Zheng <famz@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
show more ...
|
#
65f74725 |
| 01-May-2013 |
Fam Zheng <famz@redhat.com> |
vmdk: named return code.
Internal routines in vmdk.c previously return -1 on error and 0 on success. More return values are useful for future changes such as zeroed-grain GTE. Change all the magic `
vmdk: named return code.
Internal routines in vmdk.c previously return -1 on error and 0 on success. More return values are useful for future changes such as zeroed-grain GTE. Change all the magic `return 0` and `return -1` to macro names:
* VMDK_OK 0 * VMDK_ERROR (-1) * VMDK_UNALLOC (-2) * VMDK_ZEROED (-3)
Signed-off-by: Fam Zheng <famz@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
show more ...
|
Revision tags: qemu-kvm-0.12.1.2-2.362.el6, qemu-kvm-1.4.0-3.el7, qemu-kvm-0.12.1.2-2.361.el6, v1.4.1, qemu-kvm-0.12.1.2-2.355.el6_4.3, qemu-kvm-0.12.1.2-2.360.el6, qemu-kvm-0.12.1.2-2.359.el6, qemu-kvm-1.4.0-2.el7, vfio-pci-for-qemu-20130401.0 |
|
#
3f08ffb4 |
| 22-Mar-2013 |
Anthony Liguori <aliguori@us.ibm.com> |
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Kevin Wolf (12) and Peter Lieven (2) # Via Kevin Wolf * kwolf/for-anthony: nbd: Check against invalid option combinations nbd:
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Kevin Wolf (12) and Peter Lieven (2) # Via Kevin Wolf * kwolf/for-anthony: nbd: Check against invalid option combinations nbd: Use default port if only host is specified block: Allow omitting the file name when using driver-specific options block: Make find_image_format safe with NULL filename block: Rename variable to avoid shadowing block: Introduce .bdrv_parse_filename callback nbd: Accept -drive options for the network connection nbd: Remove unused functions nbd: Keep hostname and port separate qemu-socket: Make socket_optslist public block: Pass bdrv_file_open() options to block drivers block: Add options QDict to bdrv_file_open() prototypes block: complete all IOs before resizing a device Revert "block: complete all IOs before .bdrv_truncate"
show more ...
|
#
787e4a85 |
| 06-Mar-2013 |
Kevin Wolf <kwolf@redhat.com> |
block: Add options QDict to bdrv_file_open() prototypes
The new parameter is unused yet.
Signed-off-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com>
|
#
dc0b0616 |
| 15-Mar-2013 |
Anthony Liguori <aliguori@us.ibm.com> |
Merge remote-tracking branch 'stefanha/block' into staging
# By Stefan Hajnoczi (14) and others # Via Stefan Hajnoczi * stefanha/block: (28 commits) blockdev: Fix up copyright and permission notic
Merge remote-tracking branch 'stefanha/block' into staging
# By Stefan Hajnoczi (14) and others # Via Stefan Hajnoczi * stefanha/block: (28 commits) blockdev: Fix up copyright and permission notice qemu-iotests: use -nographic in test case 007 qemu-iotests: add tests for rebasing zero clusters dataplane: fix hang introduced by AioContext transition coroutine: use AioContext for CoQueue BH threadpool: drop global thread pool block: add bdrv_get_aio_context() aio: add a ThreadPool instance to AioContext threadpool: add thread_pool_new() and thread_pool_free() threadpool: move globals into struct ThreadPool main-loop: add qemu_get_aio_context() sheepdog: set io_flush handler in do_co_req sheepdog: use non-blocking fd in coroutine context qcow2: make is_allocated return true for zero clusters qcow2: drop unnecessary flush in qcow2_update_snapshot_refcount() qcow2: drop flush in update_cluster_refcount() qcow2: flush in qcow2_update_snapshot_refcount() qcow2: set L2 cache dependency in qcow2_alloc_bytes() qcow2: flush refcount cache correctly in qcow2_write_snapshots() qcow2: flush refcount cache correctly in alloc_refcount_block() ...
show more ...
|
#
de9c0cec |
| 15-Mar-2013 |
Kevin Wolf <kwolf@redhat.com> |
block: Add options QDict to bdrv_open() prototype
It doesn't do anything yet except storing the options QDict in the BlockDriverState.
Signed-off-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Eric
block: Add options QDict to bdrv_open() prototype
It doesn't do anything yet except storing the options QDict in the BlockDriverState.
Signed-off-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
show more ...
|