* [Qemu-devel] [PULL 00/11] Block patches @ 2012-09-14 12:39 Kevin Wolf 2012-09-14 12:39 ` [Qemu-devel] [PATCH 01/11] sheepdog: fix savevm and loadvm Kevin Wolf ` (12 more replies) 0 siblings, 13 replies; 40+ messages in thread From: Kevin Wolf @ 2012-09-14 12:39 UTC (permalink / raw) To: anthony; +Cc: kwolf, qemu-devel The following changes since commit e0a1e32dbc41e6b2aabb436a9417dfd32177a3dc: Merge branch 'usb.64' of git://git.kraxel.org/qemu (2012-09-11 18:06:56 +0200) are available in the git repository at: git://repo.or.cz/qemu/kevin.git for-anthony Benoît Canet (2): qapi: Add SnapshotInfo and ImageInfo. qemu-img: Add json output option to the info command. Daniel P. Berrange (1): Don't require encryption password for 'qemu-img info' command Dunrong Huang (1): block: Don't forget to delete temporary file Jason Baron (1): ahci: properly reset PxCMD on HBA reset MORITA Kazutaka (1): sheepdog: fix savevm and loadvm Pavel Hrdina (1): block: fix block tray status Ronnie Sahlberg (1): ATAPI: STARTSTOPUNIT only eject/load media if powercondition is 0 Stefan Weil (3): ide: Fix error messages from static code analysis (no real error) block/curl: Fix wrong free statement vdi: Fix warning from clang Makefile | 3 +- block.c | 10 ++- block/curl.c | 3 +- block/sheepdog.c | 3 +- block/vdi.c | 25 +++--- hw/ide/ahci.c | 2 +- hw/ide/atapi.c | 6 ++ hw/ide/core.c | 11 +-- qapi-schema.json | 64 ++++++++++++++ qemu-img-cmds.hx | 4 +- qemu-img.c | 257 ++++++++++++++++++++++++++++++++++++++++++----------- qemu-img.texi | 5 +- 12 files changed, 305 insertions(+), 88 deletions(-) ^ permalink raw reply [flat|nested] 40+ messages in thread
* [Qemu-devel] [PATCH 01/11] sheepdog: fix savevm and loadvm 2012-09-14 12:39 [Qemu-devel] [PULL 00/11] Block patches Kevin Wolf @ 2012-09-14 12:39 ` Kevin Wolf 2012-09-14 12:39 ` [Qemu-devel] [PATCH 02/11] ATAPI: STARTSTOPUNIT only eject/load media if powercondition is 0 Kevin Wolf ` (11 subsequent siblings) 12 siblings, 0 replies; 40+ messages in thread From: Kevin Wolf @ 2012-09-14 12:39 UTC (permalink / raw) To: anthony; +Cc: kwolf, qemu-devel From: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp> This patch sets data to be sent to Sheepdog correctly and fixes savevm and loadvm operations on a Sheepdog image. Signed-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp> Signed-off-by: Kevin Wolf <kwolf@redhat.com> --- block/sheepdog.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/block/sheepdog.c b/block/sheepdog.c index df4f441..e0753ee 100644 --- a/block/sheepdog.c +++ b/block/sheepdog.c @@ -1986,7 +1986,7 @@ static int do_load_save_vmstate(BDRVSheepdogState *s, uint8_t *data, vdi_index = pos / SD_DATA_OBJ_SIZE; offset = pos % SD_DATA_OBJ_SIZE; - data_len = MIN(remaining, SD_DATA_OBJ_SIZE); + data_len = MIN(remaining, SD_DATA_OBJ_SIZE - offset); vmstate_oid = vid_to_vmstate_oid(s->inode.vdi_id, vdi_index); @@ -2007,6 +2007,7 @@ static int do_load_save_vmstate(BDRVSheepdogState *s, uint8_t *data, } pos += data_len; + data += data_len; remaining -= data_len; } ret = size; -- 1.7.6.5 ^ permalink raw reply related [flat|nested] 40+ messages in thread
* [Qemu-devel] [PATCH 02/11] ATAPI: STARTSTOPUNIT only eject/load media if powercondition is 0 2012-09-14 12:39 [Qemu-devel] [PULL 00/11] Block patches Kevin Wolf 2012-09-14 12:39 ` [Qemu-devel] [PATCH 01/11] sheepdog: fix savevm and loadvm Kevin Wolf @ 2012-09-14 12:39 ` Kevin Wolf 2012-09-14 12:39 ` [Qemu-devel] [PATCH 03/11] ide: Fix error messages from static code analysis (no real error) Kevin Wolf ` (10 subsequent siblings) 12 siblings, 0 replies; 40+ messages in thread From: Kevin Wolf @ 2012-09-14 12:39 UTC (permalink / raw) To: anthony; +Cc: kwolf, qemu-devel From: Ronnie Sahlberg <ronniesahlberg@gmail.com> The START STOP UNIT command will only eject/load media if power condition is zero. If power condition is !0 then LOEJ and START will be ignored. >From MMC (sbc contains similar wordings too) The Power Conditions field requests the block device to be placed in the power condition defined in Table 558. If this field has a value other than 0h then the Start and LoEj bits shall be ignored. Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com> --- hw/ide/atapi.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) diff --git a/hw/ide/atapi.c b/hw/ide/atapi.c index f7f714c..685cbaa 100644 --- a/hw/ide/atapi.c +++ b/hw/ide/atapi.c @@ -875,6 +875,12 @@ static void cmd_start_stop_unit(IDEState *s, uint8_t* buf) int sense; bool start = buf[4] & 1; bool loej = buf[4] & 2; /* load on start, eject on !start */ + int pwrcnd = buf[4] & 0xf0; + + if (pwrcnd) { + /* eject/load only happens for power condition == 0 */ + return; + } if (loej) { if (!start && !s->tray_open && s->tray_locked) { -- 1.7.6.5 ^ permalink raw reply related [flat|nested] 40+ messages in thread
* [Qemu-devel] [PATCH 03/11] ide: Fix error messages from static code analysis (no real error) 2012-09-14 12:39 [Qemu-devel] [PULL 00/11] Block patches Kevin Wolf 2012-09-14 12:39 ` [Qemu-devel] [PATCH 01/11] sheepdog: fix savevm and loadvm Kevin Wolf 2012-09-14 12:39 ` [Qemu-devel] [PATCH 02/11] ATAPI: STARTSTOPUNIT only eject/load media if powercondition is 0 Kevin Wolf @ 2012-09-14 12:39 ` Kevin Wolf 2012-09-14 12:39 ` [Qemu-devel] [PATCH 04/11] block/curl: Fix wrong free statement Kevin Wolf ` (9 subsequent siblings) 12 siblings, 0 replies; 40+ messages in thread From: Kevin Wolf @ 2012-09-14 12:39 UTC (permalink / raw) To: anthony; +Cc: kwolf, qemu-devel From: Stefan Weil <sw@weilnetz.de> Report from smatch: hw/ide/core.c:1472 ide_exec_cmd(423) error: buffer overflow 'smart_attributes' 8 <= 29 hw/ide/core.c:1474 ide_exec_cmd(425) error: buffer overflow 'smart_attributes' 8 <= 29 hw/ide/core.c:1475 ide_exec_cmd(426) error: buffer overflow 'smart_attributes' 8 <= 29 ... The upper limit of 30 was never reached because both for loops terminated when 'smart_attributes' reached end of list, so there was no real buffer overflow. Nevertheless, changing the code not only fixes the error report, but also reduces the size of smart_attributes and simplifies the for loops. Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Kevin Wolf <kwolf@redhat.com> --- hw/ide/core.c | 11 ++--------- 1 files changed, 2 insertions(+), 9 deletions(-) diff --git a/hw/ide/core.c b/hw/ide/core.c index d65ef3d..d6fb69c 100644 --- a/hw/ide/core.c +++ b/hw/ide/core.c @@ -53,8 +53,6 @@ static const int smart_attributes[][12] = { { 0x0c, 0x03, 0x00, 0x64, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, /* airflow-temperature-celsius */ { 190, 0x03, 0x00, 0x45, 0x45, 0x1f, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x32}, - /* end of list */ - { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} }; static int ide_handle_rw_error(IDEState *s, int error, int op); @@ -1468,9 +1466,7 @@ void ide_exec_cmd(IDEBus *bus, uint32_t val) case SMART_READ_THRESH: memset(s->io_buffer, 0, 0x200); s->io_buffer[0] = 0x01; /* smart struct version */ - for (n=0; n<30; n++) { - if (smart_attributes[n][0] == 0) - break; + for (n = 0; n < ARRAY_SIZE(smart_attributes); n++) { s->io_buffer[2+0+(n*12)] = smart_attributes[n][0]; s->io_buffer[2+1+(n*12)] = smart_attributes[n][11]; } @@ -1484,10 +1480,7 @@ void ide_exec_cmd(IDEBus *bus, uint32_t val) case SMART_READ_DATA: memset(s->io_buffer, 0, 0x200); s->io_buffer[0] = 0x01; /* smart struct version */ - for (n=0; n<30; n++) { - if (smart_attributes[n][0] == 0) { - break; - } + for (n = 0; n < ARRAY_SIZE(smart_attributes); n++) { int i; for(i = 0; i < 11; i++) { s->io_buffer[2+i+(n*12)] = smart_attributes[n][i]; -- 1.7.6.5 ^ permalink raw reply related [flat|nested] 40+ messages in thread
* [Qemu-devel] [PATCH 04/11] block/curl: Fix wrong free statement 2012-09-14 12:39 [Qemu-devel] [PULL 00/11] Block patches Kevin Wolf ` (2 preceding siblings ...) 2012-09-14 12:39 ` [Qemu-devel] [PATCH 03/11] ide: Fix error messages from static code analysis (no real error) Kevin Wolf @ 2012-09-14 12:39 ` Kevin Wolf 2012-09-14 12:39 ` [Qemu-devel] [PATCH 05/11] vdi: Fix warning from clang Kevin Wolf ` (8 subsequent siblings) 12 siblings, 0 replies; 40+ messages in thread From: Kevin Wolf @ 2012-09-14 12:39 UTC (permalink / raw) To: anthony; +Cc: kwolf, qemu-devel From: Stefan Weil <sw@weilnetz.de> Report from smatch: block/curl.c:546 curl_close(21) info: redundant null check on s->url calling free() The check was redundant, and free was also wrong because the memory was allocated using g_strdup. Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Kevin Wolf <kwolf@redhat.com> --- block/curl.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-) diff --git a/block/curl.c b/block/curl.c index e7c3634..c1074cd 100644 --- a/block/curl.c +++ b/block/curl.c @@ -542,8 +542,7 @@ static void curl_close(BlockDriverState *bs) } if (s->multi) curl_multi_cleanup(s->multi); - if (s->url) - free(s->url); + g_free(s->url); } static int64_t curl_getlength(BlockDriverState *bs) -- 1.7.6.5 ^ permalink raw reply related [flat|nested] 40+ messages in thread
* [Qemu-devel] [PATCH 05/11] vdi: Fix warning from clang 2012-09-14 12:39 [Qemu-devel] [PULL 00/11] Block patches Kevin Wolf ` (3 preceding siblings ...) 2012-09-14 12:39 ` [Qemu-devel] [PATCH 04/11] block/curl: Fix wrong free statement Kevin Wolf @ 2012-09-14 12:39 ` Kevin Wolf 2012-09-14 12:39 ` [Qemu-devel] [PATCH 06/11] block: fix block tray status Kevin Wolf ` (7 subsequent siblings) 12 siblings, 0 replies; 40+ messages in thread From: Kevin Wolf @ 2012-09-14 12:39 UTC (permalink / raw) To: anthony; +Cc: kwolf, qemu-devel From: Stefan Weil <sw@weilnetz.de> ccc-analyzer reports these warnings: block/vdi.c:704:13: warning: Dereference of null pointer bmap[i] = VDI_UNALLOCATED; ^ block/vdi.c:702:13: warning: Dereference of null pointer bmap[i] = i; ^ Moving some code into the if block fixes this. It also avoids calling function write with 0 bytes of data. Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Kevin Wolf <kwolf@redhat.com> --- block/vdi.c | 25 ++++++++++++------------- 1 files changed, 12 insertions(+), 13 deletions(-) diff --git a/block/vdi.c b/block/vdi.c index c4f1529..550cf58 100644 --- a/block/vdi.c +++ b/block/vdi.c @@ -628,7 +628,6 @@ static int vdi_create(const char *filename, QEMUOptionParameter *options) VdiHeader header; size_t i; size_t bmap_size; - uint32_t *bmap; logout("\n"); @@ -693,21 +692,21 @@ static int vdi_create(const char *filename, QEMUOptionParameter *options) result = -errno; } - bmap = NULL; if (bmap_size > 0) { - bmap = (uint32_t *)g_malloc0(bmap_size); - } - for (i = 0; i < blocks; i++) { - if (image_type == VDI_TYPE_STATIC) { - bmap[i] = i; - } else { - bmap[i] = VDI_UNALLOCATED; + uint32_t *bmap = g_malloc0(bmap_size); + for (i = 0; i < blocks; i++) { + if (image_type == VDI_TYPE_STATIC) { + bmap[i] = i; + } else { + bmap[i] = VDI_UNALLOCATED; + } } + if (write(fd, bmap, bmap_size) < 0) { + result = -errno; + } + g_free(bmap); } - if (write(fd, bmap, bmap_size) < 0) { - result = -errno; - } - g_free(bmap); + if (image_type == VDI_TYPE_STATIC) { if (ftruncate(fd, sizeof(header) + bmap_size + blocks * block_size)) { result = -errno; -- 1.7.6.5 ^ permalink raw reply related [flat|nested] 40+ messages in thread
* [Qemu-devel] [PATCH 06/11] block: fix block tray status 2012-09-14 12:39 [Qemu-devel] [PULL 00/11] Block patches Kevin Wolf ` (4 preceding siblings ...) 2012-09-14 12:39 ` [Qemu-devel] [PATCH 05/11] vdi: Fix warning from clang Kevin Wolf @ 2012-09-14 12:39 ` Kevin Wolf 2012-09-14 12:39 ` [Qemu-devel] [PATCH 07/11] ahci: properly reset PxCMD on HBA reset Kevin Wolf ` (6 subsequent siblings) 12 siblings, 0 replies; 40+ messages in thread From: Kevin Wolf @ 2012-09-14 12:39 UTC (permalink / raw) To: anthony; +Cc: kwolf, qemu-devel From: Pavel Hrdina <phrdina@redhat.com> The tray status should change also if you eject empty block device. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com> --- block.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/block.c b/block.c index 470bdcc..c754353 100644 --- a/block.c +++ b/block.c @@ -897,10 +897,10 @@ void bdrv_close(BlockDriverState *bs) bdrv_delete(bs->file); bs->file = NULL; } - - bdrv_dev_change_media_cb(bs, false); } + bdrv_dev_change_media_cb(bs, false); + /*throttling disk I/O limits*/ if (bs->io_limits_enabled) { bdrv_io_limits_disable(bs); -- 1.7.6.5 ^ permalink raw reply related [flat|nested] 40+ messages in thread
* [Qemu-devel] [PATCH 07/11] ahci: properly reset PxCMD on HBA reset 2012-09-14 12:39 [Qemu-devel] [PULL 00/11] Block patches Kevin Wolf ` (5 preceding siblings ...) 2012-09-14 12:39 ` [Qemu-devel] [PATCH 06/11] block: fix block tray status Kevin Wolf @ 2012-09-14 12:39 ` Kevin Wolf 2012-09-14 12:39 ` [Qemu-devel] [PATCH 08/11] qapi: Add SnapshotInfo and ImageInfo Kevin Wolf ` (5 subsequent siblings) 12 siblings, 0 replies; 40+ messages in thread From: Kevin Wolf @ 2012-09-14 12:39 UTC (permalink / raw) To: anthony; +Cc: kwolf, qemu-devel From: Jason Baron <jbaron@redhat.com> While testing q35, I found that windows 7 (specifically, windows 7 ultimate with sp1 x64), wouldn't install because it can't find the cdrom or disk drive. The failure message is: 'A required cd/dvd device driver is missing. If you have a driver floppy disk, CD, DVD, or USB flash drive, please insert it now.' This can also be reproduced on piix by adding an ahci controller, and observing that windows 7 does not see any devices behind it. The problem is that when windows issues a HBA reset, qemu does not reset the individual ports' PxCMD register. Windows 7 then reads back the PxCMD register and presumably assumes that the ahci controller has already been initialized. Windows then never sets up the PxIE register to enable interrupts, and thus it never gets irqs back when it sends ata device inquiry commands. This change brings qemu into ahci 1.3 specification compliance. Section 10.4.3 HBA Reset: " When GHC.HR is set to '1', GHC.AE, GHC.IE, the IS register, and all port register fields (except PxFB/PxFBU/PxCLB/PxCLBU) that are not HwInit in the HBA's register memory space are reset. " I've also re-tested Fedora 16 and 17 to verify that they continue to work with this change. Signed-off-by: Jason Baron <jbaron@redhat.com> Acked-by: Alexander Graf <agraf@suse.de> Signed-off-by: Kevin Wolf <kwolf@redhat.com> --- hw/ide/ahci.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c index 5ea3cad..68671bc 100644 --- a/hw/ide/ahci.c +++ b/hw/ide/ahci.c @@ -1175,7 +1175,6 @@ void ahci_init(AHCIState *s, DeviceState *qdev, DMAContext *dma, int ports) ad->port_no = i; ad->port.dma = &ad->dma; ad->port.dma->ops = &ahci_dma_ops; - ad->port_regs.cmd = PORT_CMD_SPIN_UP | PORT_CMD_POWER_ON; } } @@ -1199,6 +1198,7 @@ void ahci_reset(AHCIState *s) pr->irq_stat = 0; pr->irq_mask = 0; pr->scr_ctl = 0; + pr->cmd = PORT_CMD_SPIN_UP | PORT_CMD_POWER_ON; ahci_reset_port(s, i); } } -- 1.7.6.5 ^ permalink raw reply related [flat|nested] 40+ messages in thread
* [Qemu-devel] [PATCH 08/11] qapi: Add SnapshotInfo and ImageInfo. 2012-09-14 12:39 [Qemu-devel] [PULL 00/11] Block patches Kevin Wolf ` (6 preceding siblings ...) 2012-09-14 12:39 ` [Qemu-devel] [PATCH 07/11] ahci: properly reset PxCMD on HBA reset Kevin Wolf @ 2012-09-14 12:39 ` Kevin Wolf 2012-09-14 12:39 ` [Qemu-devel] [PATCH 09/11] qemu-img: Add json output option to the info command Kevin Wolf ` (4 subsequent siblings) 12 siblings, 0 replies; 40+ messages in thread From: Kevin Wolf @ 2012-09-14 12:39 UTC (permalink / raw) To: anthony; +Cc: kwolf, qemu-devel From: Benoît Canet <benoit@irqsave.net> Signed-off-by: Benoit Canet <benoit@irqsave.net> Signed-off-by: Kevin Wolf <kwolf@redhat.com> --- qapi-schema.json | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 64 insertions(+), 0 deletions(-) diff --git a/qapi-schema.json b/qapi-schema.json index a9f465a..1c168c5 100644 --- a/qapi-schema.json +++ b/qapi-schema.json @@ -156,6 +156,70 @@ 'running', 'save-vm', 'shutdown', 'suspended', 'watchdog' ] } ## +# @SnapshotInfo +# +# @id: unique snapshot id +# +# @name: user chosen name +# +# @vm-state-size: size of the VM state +# +# @date-sec: UTC date of the snapshot in seconds +# +# @date-nsec: fractional part in nano seconds to be used with date-sec +# +# @vm-clock-sec: VM clock relative to boot in seconds +# +# @vm-clock-nsec: fractional part in nano seconds to be used with vm-clock-sec +# +# Since: 1.3 +# +## + +{ 'type': 'SnapshotInfo', + 'data': { 'id': 'str', 'name': 'str', 'vm-state-size': 'int', + 'date-sec': 'int', 'date-nsec': 'int', + 'vm-clock-sec': 'int', 'vm-clock-nsec': 'int' } } + +## +# @ImageInfo: +# +# Information about a QEMU image file +# +# @filename: name of the image file +# +# @format: format of the image file +# +# @virtual-size: maximum capacity in bytes of the image +# +# @actual-size: #optional actual size on disk in bytes of the image +# +# @dirty-flag: #optional true if image is not cleanly closed +# +# @cluster-size: #optional size of a cluster in bytes +# +# @encrypted: #optional true if the image is encrypted +# +# @backing-filename: #optional name of the backing file +# +# @full-backing-filename: #optional full path of the backing file +# +# @backing-filename-format: #optional the format of the backing file +# +# @snapshots: #optional list of VM snapshots +# +# Since: 1.3 +# +## + +{ 'type': 'ImageInfo', + 'data': {'filename': 'str', 'format': 'str', '*dirty-flag': 'bool', + '*actual-size': 'int', 'virtual-size': 'int', + '*cluster-size': 'int', '*encrypted': 'bool', + '*backing-filename': 'str', '*full-backing-filename': 'str', + '*backing-filename-format': 'str', '*snapshots': ['SnapshotInfo'] } } + +## # @StatusInfo: # # Information about VCPU run state -- 1.7.6.5 ^ permalink raw reply related [flat|nested] 40+ messages in thread
* [Qemu-devel] [PATCH 09/11] qemu-img: Add json output option to the info command. 2012-09-14 12:39 [Qemu-devel] [PULL 00/11] Block patches Kevin Wolf ` (7 preceding siblings ...) 2012-09-14 12:39 ` [Qemu-devel] [PATCH 08/11] qapi: Add SnapshotInfo and ImageInfo Kevin Wolf @ 2012-09-14 12:39 ` Kevin Wolf 2012-09-14 12:39 ` [Qemu-devel] [PATCH 10/11] Don't require encryption password for 'qemu-img info' command Kevin Wolf ` (3 subsequent siblings) 12 siblings, 0 replies; 40+ messages in thread From: Kevin Wolf @ 2012-09-14 12:39 UTC (permalink / raw) To: anthony; +Cc: kwolf, qemu-devel From: Benoît Canet <benoit@irqsave.net> This option --output=[human|json] make qemu-img info output on human or JSON representation at the choice of the user. example: { "snapshots": [ { "vm-clock-nsec": 637102488, "name": "vm-20120821145509", "date-sec": 1345553709, "date-nsec": 220289000, "vm-clock-sec": 20, "id": "1", "vm-state-size": 96522745 }, { "vm-clock-nsec": 28210866, "name": "vm-20120821154059", "date-sec": 1345556459, "date-nsec": 171392000, "vm-clock-sec": 46, "id": "2", "vm-state-size": 101208714 } ], "virtual-size": 1073741824, "filename": "snap.qcow2", "cluster-size": 65536, "format": "qcow2", "actual-size": 985587712, "dirty-flag": false } Signed-off-by: Benoit Canet <benoit@irqsave.net> Signed-off-by: Kevin Wolf <kwolf@redhat.com> --- Makefile | 3 +- qemu-img-cmds.hx | 4 +- qemu-img.c | 236 ++++++++++++++++++++++++++++++++++++++++++++---------- qemu-img.texi | 5 +- 4 files changed, 199 insertions(+), 49 deletions(-) diff --git a/Makefile b/Makefile index 1cd5bc8..971e92f 100644 --- a/Makefile +++ b/Makefile @@ -157,7 +157,8 @@ tools-obj-y = $(oslib-obj-y) $(trace-obj-y) qemu-tool.o qemu-timer.o \ iohandler.o cutils.o iov.o async.o tools-obj-$(CONFIG_POSIX) += compatfd.o -qemu-img$(EXESUF): qemu-img.o $(tools-obj-y) $(block-obj-y) +qemu-img$(EXESUF): qemu-img.o $(tools-obj-y) $(block-obj-y) $(qapi-obj-y) \ + qapi-visit.o qapi-types.o qemu-nbd$(EXESUF): qemu-nbd.o $(tools-obj-y) $(block-obj-y) qemu-io$(EXESUF): qemu-io.o cmd.o $(tools-obj-y) $(block-obj-y) diff --git a/qemu-img-cmds.hx b/qemu-img-cmds.hx index 39419a0..0ef82e9 100644 --- a/qemu-img-cmds.hx +++ b/qemu-img-cmds.hx @@ -34,9 +34,9 @@ STEXI ETEXI DEF("info", img_info, - "info [-f fmt] filename") + "info [-f fmt] [--output=ofmt] filename") STEXI -@item info [-f @var{fmt}] @var{filename} +@item info [-f @var{fmt}] [--output=@var{ofmt}] @var{filename} ETEXI DEF("snapshot", img_snapshot, diff --git a/qemu-img.c b/qemu-img.c index b41e670..30e33c7 100644 --- a/qemu-img.c +++ b/qemu-img.c @@ -21,12 +21,16 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ +#include "qapi-visit.h" +#include "qapi/qmp-output-visitor.h" +#include "qjson.h" #include "qemu-common.h" #include "qemu-option.h" #include "qemu-error.h" #include "osdep.h" #include "sysemu.h" #include "block_int.h" +#include <getopt.h> #include <stdio.h> #ifdef _WIN32 @@ -84,6 +88,7 @@ static void help(void) " '-p' show progress of command (only certain commands)\n" " '-S' indicates the consecutive number of bytes that must contain only zeros\n" " for qemu-img to create a sparse image during conversion\n" + " '--output' takes the format in which the output must be done (human or json)\n" "\n" "Parameters to check subcommand:\n" " '-r' tries to repair any inconsistencies that are found during the check.\n" @@ -1102,21 +1107,174 @@ static void dump_snapshots(BlockDriverState *bs) g_free(sn_tab); } -static int img_info(int argc, char **argv) +static void collect_snapshots(BlockDriverState *bs , ImageInfo *info) +{ + int i, sn_count; + QEMUSnapshotInfo *sn_tab = NULL; + SnapshotInfoList *info_list, *cur_item = NULL; + sn_count = bdrv_snapshot_list(bs, &sn_tab); + + for (i = 0; i < sn_count; i++) { + info->has_snapshots = true; + info_list = g_new0(SnapshotInfoList, 1); + + info_list->value = g_new0(SnapshotInfo, 1); + info_list->value->id = g_strdup(sn_tab[i].id_str); + info_list->value->name = g_strdup(sn_tab[i].name); + info_list->value->vm_state_size = sn_tab[i].vm_state_size; + info_list->value->date_sec = sn_tab[i].date_sec; + info_list->value->date_nsec = sn_tab[i].date_nsec; + info_list->value->vm_clock_sec = sn_tab[i].vm_clock_nsec / 1000000000; + info_list->value->vm_clock_nsec = sn_tab[i].vm_clock_nsec % 1000000000; + + /* XXX: waiting for the qapi to support qemu-queue.h types */ + if (!cur_item) { + info->snapshots = cur_item = info_list; + } else { + cur_item->next = info_list; + cur_item = info_list; + } + + } + + g_free(sn_tab); +} + +static void dump_json_image_info(ImageInfo *info) +{ + Error *errp = NULL; + QString *str; + QmpOutputVisitor *ov = qmp_output_visitor_new(); + QObject *obj; + visit_type_ImageInfo(qmp_output_get_visitor(ov), + &info, NULL, &errp); + obj = qmp_output_get_qobject(ov); + str = qobject_to_json_pretty(obj); + assert(str != NULL); + printf("%s\n", qstring_get_str(str)); + qobject_decref(obj); + qmp_output_visitor_cleanup(ov); + QDECREF(str); +} + +static void collect_image_info(BlockDriverState *bs, + ImageInfo *info, + const char *filename, + const char *fmt) { - int c; - const char *filename, *fmt; - BlockDriverState *bs; - char size_buf[128], dsize_buf[128]; uint64_t total_sectors; - int64_t allocated_size; char backing_filename[1024]; char backing_filename2[1024]; BlockDriverInfo bdi; + bdrv_get_geometry(bs, &total_sectors); + + info->filename = g_strdup(filename); + info->format = g_strdup(bdrv_get_format_name(bs)); + info->virtual_size = total_sectors * 512; + info->actual_size = bdrv_get_allocated_file_size(bs); + info->has_actual_size = info->actual_size >= 0; + if (bdrv_is_encrypted(bs)) { + info->encrypted = true; + info->has_encrypted = true; + } + if (bdrv_get_info(bs, &bdi) >= 0) { + if (bdi.cluster_size != 0) { + info->cluster_size = bdi.cluster_size; + info->has_cluster_size = true; + } + info->dirty_flag = bdi.is_dirty; + info->has_dirty_flag = true; + } + bdrv_get_backing_filename(bs, backing_filename, sizeof(backing_filename)); + if (backing_filename[0] != '\0') { + info->backing_filename = g_strdup(backing_filename); + info->has_backing_filename = true; + bdrv_get_full_backing_filename(bs, backing_filename2, + sizeof(backing_filename2)); + + if (strcmp(backing_filename, backing_filename2) != 0) { + info->full_backing_filename = + g_strdup(backing_filename2); + info->has_full_backing_filename = true; + } + + if (bs->backing_format[0]) { + info->backing_filename_format = g_strdup(bs->backing_format); + info->has_backing_filename_format = true; + } + } +} + +static void dump_human_image_info(ImageInfo *info) +{ + char size_buf[128], dsize_buf[128]; + if (!info->has_actual_size) { + snprintf(dsize_buf, sizeof(dsize_buf), "unavailable"); + } else { + get_human_readable_size(dsize_buf, sizeof(dsize_buf), + info->actual_size); + } + get_human_readable_size(size_buf, sizeof(size_buf), info->virtual_size); + printf("image: %s\n" + "file format: %s\n" + "virtual size: %s (%" PRId64 " bytes)\n" + "disk size: %s\n", + info->filename, info->format, size_buf, + info->virtual_size, + dsize_buf); + + if (info->has_encrypted && info->encrypted) { + printf("encrypted: yes\n"); + } + + if (info->has_cluster_size) { + printf("cluster_size: %" PRId64 "\n", info->cluster_size); + } + + if (info->has_dirty_flag && info->dirty_flag) { + printf("cleanly shut down: no\n"); + } + + if (info->has_backing_filename) { + printf("backing file: %s", info->backing_filename); + if (info->has_full_backing_filename) { + printf(" (actual path: %s)", info->full_backing_filename); + } + putchar('\n'); + if (info->has_backing_filename_format) { + printf("backing file format: %s\n", info->backing_filename_format); + } + } +} + +enum {OPTION_OUTPUT = 256}; + +typedef enum OutputFormat { + OFORMAT_JSON, + OFORMAT_HUMAN, +} OutputFormat; + +static int img_info(int argc, char **argv) +{ + int c; + OutputFormat output_format = OFORMAT_HUMAN; + const char *filename, *fmt, *output; + BlockDriverState *bs; + ImageInfo *info; + fmt = NULL; + output = NULL; for(;;) { - c = getopt(argc, argv, "f:h"); + int option_index = 0; + static const struct option long_options[] = { + {"help", no_argument, 0, 'h'}, + {"format", required_argument, 0, 'f'}, + {"output", required_argument, 0, OPTION_OUTPUT}, + {0, 0, 0, 0} + }; + c = getopt_long(argc, argv, "f:h", + long_options, &option_index); if (c == -1) { break; } @@ -1128,6 +1286,9 @@ static int img_info(int argc, char **argv) case 'f': fmt = optarg; break; + case OPTION_OUTPUT: + output = optarg; + break; } } if (optind >= argc) { @@ -1135,48 +1296,35 @@ static int img_info(int argc, char **argv) } filename = argv[optind++]; + if (output && !strcmp(output, "json")) { + output_format = OFORMAT_JSON; + } else if (output && !strcmp(output, "human")) { + output_format = OFORMAT_HUMAN; + } else if (output) { + error_report("--output must be used with human or json as argument."); + return 1; + } + bs = bdrv_new_open(filename, fmt, BDRV_O_FLAGS | BDRV_O_NO_BACKING); if (!bs) { return 1; } - bdrv_get_geometry(bs, &total_sectors); - get_human_readable_size(size_buf, sizeof(size_buf), total_sectors * 512); - allocated_size = bdrv_get_allocated_file_size(bs); - if (allocated_size < 0) { - snprintf(dsize_buf, sizeof(dsize_buf), "unavailable"); - } else { - get_human_readable_size(dsize_buf, sizeof(dsize_buf), - allocated_size); - } - printf("image: %s\n" - "file format: %s\n" - "virtual size: %s (%" PRId64 " bytes)\n" - "disk size: %s\n", - filename, bdrv_get_format_name(bs), size_buf, - (total_sectors * 512), - dsize_buf); - if (bdrv_is_encrypted(bs)) { - printf("encrypted: yes\n"); - } - if (bdrv_get_info(bs, &bdi) >= 0) { - if (bdi.cluster_size != 0) { - printf("cluster_size: %d\n", bdi.cluster_size); - } - if (bdi.is_dirty) { - printf("cleanly shut down: no\n"); - } - } - bdrv_get_backing_filename(bs, backing_filename, sizeof(backing_filename)); - if (backing_filename[0] != '\0') { - bdrv_get_full_backing_filename(bs, backing_filename2, - sizeof(backing_filename2)); - printf("backing file: %s", backing_filename); - if (strcmp(backing_filename, backing_filename2) != 0) { - printf(" (actual path: %s)", backing_filename2); - } - putchar('\n'); + + info = g_new0(ImageInfo, 1); + collect_image_info(bs, info, filename, fmt); + + switch (output_format) { + case OFORMAT_HUMAN: + dump_human_image_info(info); + dump_snapshots(bs); + break; + case OFORMAT_JSON: + collect_snapshots(bs, info); + dump_json_image_info(info); + break; } - dump_snapshots(bs); + + qapi_free_ImageInfo(info); bdrv_delete(bs); return 0; } diff --git a/qemu-img.texi b/qemu-img.texi index 6b42e35..ca85891 100644 --- a/qemu-img.texi +++ b/qemu-img.texi @@ -129,12 +129,13 @@ created as a copy on write image of the specified base image; the @var{backing_file} should have the same content as the input's base image, however the path, image format, etc may differ. -@item info [-f @var{fmt}] @var{filename} +@item info [-f @var{fmt}] [--output=@var{ofmt}] @var{filename} Give information about the disk image @var{filename}. Use it in particular to know the size reserved on disk which can be different from the displayed size. If VM snapshots are stored in the disk image, -they are displayed too. +they are displayed too. The command can output in the format @var{ofmt} +which is either @code{human} or @code{json}. @item snapshot [-l | -a @var{snapshot} | -c @var{snapshot} | -d @var{snapshot} ] @var{filename} -- 1.7.6.5 ^ permalink raw reply related [flat|nested] 40+ messages in thread
* [Qemu-devel] [PATCH 10/11] Don't require encryption password for 'qemu-img info' command 2012-09-14 12:39 [Qemu-devel] [PULL 00/11] Block patches Kevin Wolf ` (8 preceding siblings ...) 2012-09-14 12:39 ` [Qemu-devel] [PATCH 09/11] qemu-img: Add json output option to the info command Kevin Wolf @ 2012-09-14 12:39 ` Kevin Wolf 2012-09-14 12:39 ` [Qemu-devel] [PATCH 11/11] block: Don't forget to delete temporary file Kevin Wolf ` (2 subsequent siblings) 12 siblings, 0 replies; 40+ messages in thread From: Kevin Wolf @ 2012-09-14 12:39 UTC (permalink / raw) To: anthony; +Cc: kwolf, qemu-devel From: "Daniel P. Berrange" <berrange@redhat.com> The encryption password is only required if I/O is going to be performed on a disk image. The 'qemu-img info' command merely reports metadata, so it should not ask for a decryption password Signed-off-by: Daniel P. Berrange <berrange@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com> --- qemu-img.c | 21 +++++++++++---------- 1 files changed, 11 insertions(+), 10 deletions(-) diff --git a/qemu-img.c b/qemu-img.c index 30e33c7..a374d67 100644 --- a/qemu-img.c +++ b/qemu-img.c @@ -226,7 +226,8 @@ static int print_block_option_help(const char *filename, const char *fmt) static BlockDriverState *bdrv_new_open(const char *filename, const char *fmt, - int flags) + int flags, + bool require_io) { BlockDriverState *bs; BlockDriver *drv; @@ -251,7 +252,7 @@ static BlockDriverState *bdrv_new_open(const char *filename, goto fail; } - if (bdrv_is_encrypted(bs)) { + if (bdrv_is_encrypted(bs) && require_io) { printf("Disk image '%s' is encrypted.\n", filename); if (read_password(password, sizeof(password)) < 0) { error_report("No password given"); @@ -418,7 +419,7 @@ static int img_check(int argc, char **argv) } filename = argv[optind++]; - bs = bdrv_new_open(filename, fmt, flags); + bs = bdrv_new_open(filename, fmt, flags, true); if (!bs) { return 1; } @@ -525,7 +526,7 @@ static int img_commit(int argc, char **argv) return -1; } - bs = bdrv_new_open(filename, fmt, flags); + bs = bdrv_new_open(filename, fmt, flags, true); if (!bs) { return 1; } @@ -767,7 +768,7 @@ static int img_convert(int argc, char **argv) total_sectors = 0; for (bs_i = 0; bs_i < bs_n; bs_i++) { - bs[bs_i] = bdrv_new_open(argv[optind + bs_i], fmt, BDRV_O_FLAGS); + bs[bs_i] = bdrv_new_open(argv[optind + bs_i], fmt, BDRV_O_FLAGS, true); if (!bs[bs_i]) { error_report("Could not open '%s'", argv[optind + bs_i]); ret = -1; @@ -886,7 +887,7 @@ static int img_convert(int argc, char **argv) return -1; } - out_bs = bdrv_new_open(out_filename, out_fmt, flags); + out_bs = bdrv_new_open(out_filename, out_fmt, flags, true); if (!out_bs) { ret = -1; goto out; @@ -1305,7 +1306,7 @@ static int img_info(int argc, char **argv) return 1; } - bs = bdrv_new_open(filename, fmt, BDRV_O_FLAGS | BDRV_O_NO_BACKING); + bs = bdrv_new_open(filename, fmt, BDRV_O_FLAGS | BDRV_O_NO_BACKING, false); if (!bs) { return 1; } @@ -1396,7 +1397,7 @@ static int img_snapshot(int argc, char **argv) filename = argv[optind++]; /* Open the image */ - bs = bdrv_new_open(filename, NULL, bdrv_oflags); + bs = bdrv_new_open(filename, NULL, bdrv_oflags, true); if (!bs) { return 1; } @@ -1514,7 +1515,7 @@ static int img_rebase(int argc, char **argv) * Ignore the old backing file for unsafe rebase in case we want to correct * the reference to a renamed or moved backing file. */ - bs = bdrv_new_open(filename, fmt, flags); + bs = bdrv_new_open(filename, fmt, flags, true); if (!bs) { return 1; } @@ -1787,7 +1788,7 @@ static int img_resize(int argc, char **argv) n = qemu_opt_get_size(param, BLOCK_OPT_SIZE, 0); qemu_opts_del(param); - bs = bdrv_new_open(filename, fmt, BDRV_O_FLAGS | BDRV_O_RDWR); + bs = bdrv_new_open(filename, fmt, BDRV_O_FLAGS | BDRV_O_RDWR, true); if (!bs) { ret = -1; goto out; -- 1.7.6.5 ^ permalink raw reply related [flat|nested] 40+ messages in thread
* [Qemu-devel] [PATCH 11/11] block: Don't forget to delete temporary file 2012-09-14 12:39 [Qemu-devel] [PULL 00/11] Block patches Kevin Wolf ` (9 preceding siblings ...) 2012-09-14 12:39 ` [Qemu-devel] [PATCH 10/11] Don't require encryption password for 'qemu-img info' command Kevin Wolf @ 2012-09-14 12:39 ` Kevin Wolf 2012-09-17 18:19 ` [Qemu-devel] [PULL 00/11] Block patches Anthony Liguori 2012-09-18 17:49 ` Michael Tokarev 12 siblings, 0 replies; 40+ messages in thread From: Kevin Wolf @ 2012-09-14 12:39 UTC (permalink / raw) To: anthony; +Cc: kwolf, qemu-devel From: Dunrong Huang <riegamaths@gmail.com> The caller would not delete temporary file after failed get_tmp_filename(). Signed-off-by: Dunrong Huang <riegamaths@gmail.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com> --- block.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/block.c b/block.c index c754353..e78039b 100644 --- a/block.c +++ b/block.c @@ -433,7 +433,11 @@ int get_tmp_filename(char *filename, int size) return -EOVERFLOW; } fd = mkstemp(filename); - if (fd < 0 || close(fd)) { + if (fd < 0) { + return -errno; + } + if (close(fd) != 0) { + unlink(filename); return -errno; } return 0; -- 1.7.6.5 ^ permalink raw reply related [flat|nested] 40+ messages in thread
* Re: [Qemu-devel] [PULL 00/11] Block patches 2012-09-14 12:39 [Qemu-devel] [PULL 00/11] Block patches Kevin Wolf ` (10 preceding siblings ...) 2012-09-14 12:39 ` [Qemu-devel] [PATCH 11/11] block: Don't forget to delete temporary file Kevin Wolf @ 2012-09-17 18:19 ` Anthony Liguori 2012-09-18 17:49 ` Michael Tokarev 12 siblings, 0 replies; 40+ messages in thread From: Anthony Liguori @ 2012-09-17 18:19 UTC (permalink / raw) To: Kevin Wolf; +Cc: qemu-devel Kevin Wolf <kwolf@redhat.com> writes: > The following changes since commit e0a1e32dbc41e6b2aabb436a9417dfd32177a3dc: > > Merge branch 'usb.64' of git://git.kraxel.org/qemu (2012-09-11 18:06:56 +0200) > > are available in the git repository at: > > git://repo.or.cz/qemu/kevin.git for-anthony > Pulled. Thanks. Regards, Anthony Liguori > Benoît Canet (2): > qapi: Add SnapshotInfo and ImageInfo. > qemu-img: Add json output option to the info command. > > Daniel P. Berrange (1): > Don't require encryption password for 'qemu-img info' command > > Dunrong Huang (1): > block: Don't forget to delete temporary file > > Jason Baron (1): > ahci: properly reset PxCMD on HBA reset > > MORITA Kazutaka (1): > sheepdog: fix savevm and loadvm > > Pavel Hrdina (1): > block: fix block tray status > > Ronnie Sahlberg (1): > ATAPI: STARTSTOPUNIT only eject/load media if powercondition is 0 > > Stefan Weil (3): > ide: Fix error messages from static code analysis (no real error) > block/curl: Fix wrong free statement > vdi: Fix warning from clang > > Makefile | 3 +- > block.c | 10 ++- > block/curl.c | 3 +- > block/sheepdog.c | 3 +- > block/vdi.c | 25 +++--- > hw/ide/ahci.c | 2 +- > hw/ide/atapi.c | 6 ++ > hw/ide/core.c | 11 +-- > qapi-schema.json | 64 ++++++++++++++ > qemu-img-cmds.hx | 4 +- > qemu-img.c | 257 ++++++++++++++++++++++++++++++++++++++++++----------- > qemu-img.texi | 5 +- > 12 files changed, 305 insertions(+), 88 deletions(-) ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [Qemu-devel] [PULL 00/11] Block patches 2012-09-14 12:39 [Qemu-devel] [PULL 00/11] Block patches Kevin Wolf ` (11 preceding siblings ...) 2012-09-17 18:19 ` [Qemu-devel] [PULL 00/11] Block patches Anthony Liguori @ 2012-09-18 17:49 ` Michael Tokarev 2012-09-19 8:42 ` Kevin Wolf 12 siblings, 1 reply; 40+ messages in thread From: Michael Tokarev @ 2012-09-18 17:49 UTC (permalink / raw) To: Kevin Wolf; +Cc: Jason Baron, qemu-devel, Ronnie Sahlberg, qemu-stable On 14.09.2012 16:39, Kevin Wolf wrote: > The following changes since commit e0a1e32dbc41e6b2aabb436a9417dfd32177a3dc: > > Merge branch 'usb.64' of git://git.kraxel.org/qemu (2012-09-11 18:06:56 +0200) > > are available in the git repository at: > > git://repo.or.cz/qemu/kevin.git for-anthony Are any of these appropriate for -stable? I think some are, below: > Benoît Canet (2): > qapi: Add SnapshotInfo and ImageInfo. > qemu-img: Add json output option to the info command. > > Daniel P. Berrange (1): > Don't require encryption password for 'qemu-img info' command > > Dunrong Huang (1): > block: Don't forget to delete temporary file This? Appears to be a minor case. > Jason Baron (1): > ahci: properly reset PxCMD on HBA reset Most likely this. Jason? > MORITA Kazutaka (1): > sheepdog: fix savevm and loadvm This, but does anyone really use sheepdog with savevm/loadvm? Probably a very minor issue too, not worth -stable. > Pavel Hrdina (1): > block: fix block tray status And this, > Ronnie Sahlberg (1): > ATAPI: STARTSTOPUNIT only eject/load media if powercondition is 0 And probably this too? I'm not sure about this one. Ronnie? > Stefan Weil (3): > ide: Fix error messages from static code analysis (no real error) > block/curl: Fix wrong free statement > vdi: Fix warning from clang Thanks, /mjt ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [Qemu-devel] [PULL 00/11] Block patches 2012-09-18 17:49 ` Michael Tokarev @ 2012-09-19 8:42 ` Kevin Wolf 0 siblings, 0 replies; 40+ messages in thread From: Kevin Wolf @ 2012-09-19 8:42 UTC (permalink / raw) To: Michael Tokarev; +Cc: Jason Baron, qemu-devel, Ronnie Sahlberg, qemu-stable Am 18.09.2012 19:49, schrieb Michael Tokarev: > On 14.09.2012 16:39, Kevin Wolf wrote: >> The following changes since commit e0a1e32dbc41e6b2aabb436a9417dfd32177a3dc: >> >> Merge branch 'usb.64' of git://git.kraxel.org/qemu (2012-09-11 18:06:56 +0200) >> >> are available in the git repository at: >> >> git://repo.or.cz/qemu/kevin.git for-anthony > > Are any of these appropriate for -stable? I think some are, below: I think all of your suggestions would be appropriate, even though most of them fix rather theoretical cases. >> Jason Baron (1): >> ahci: properly reset PxCMD on HBA reset > > Most likely this. Jason? Yes, this fixes a real visible bug with AHCI CD-ROMs. Kevin ^ permalink raw reply [flat|nested] 40+ messages in thread
* [Qemu-devel] [PULL 00/11] Block patches @ 2019-05-07 15:18 Max Reitz 2019-05-09 8:49 ` Peter Maydell 0 siblings, 1 reply; 40+ messages in thread From: Max Reitz @ 2019-05-07 15:18 UTC (permalink / raw) To: qemu-block; +Cc: Kevin Wolf, Peter Maydell, qemu-devel, Max Reitz The following changes since commit 19eb2d4e736dc895f31fbd6b520e514f10cc08e0: Merge remote-tracking branch 'remotes/thibault/tags/samuel-thibault' into staging (2019-05-07 10:43:32 +0100) are available in the Git repository at: https://git.xanclic.moe/XanClic/qemu.git tags/pull-block-2019-05-07 for you to fetch changes up to 1278dce7927301bf3d004a40061dbd2c1e0846a8: iotests: Fix iotests 110 and 126 (2019-05-07 17:14:21 +0200) ---------------------------------------------------------------- Block patches: - Fixes to qcow2's implementation of qemu-img check - Our SSH driver now supports bdrv_refresh_filename() - Miscellaneous fixes ---------------------------------------------------------------- Alberto Garcia (2): block: Assert that drv->bdrv_child_perm is set in bdrv_child_perm() commit: Use bdrv_append() in commit_start() Andrey Shinkevich (1): qcow2: discard bitmap when removed Max Reitz (3): block/ssh: Implement .bdrv_refresh_filename() block/ssh: Implement .bdrv_dirname() iotests: Fix iotests 110 and 126 Vladimir Sementsov-Ogievskiy (5): qcow2-refcount: fix check_oflag_copied qcow2-refcount: avoid eating RAM qcow2-refcount: check_refcounts_l2: reduce ignored overlaps qcow2-refcount: check_refcounts_l2: don't count fixed cluster as allocated qcow2-refcount: don't mask corruptions under internal errors block.c | 9 ++-- block/commit.c | 11 +---- block/qcow2-bitmap.c | 2 +- block/qcow2-refcount.c | 80 ++++++++++++++++++++++------------- block/ssh.c | 73 +++++++++++++++++++++++++++++--- tests/qemu-iotests/110 | 10 +++-- tests/qemu-iotests/126 | 10 +++-- tests/qemu-iotests/138 | 12 +++--- tests/qemu-iotests/138.out | 5 ++- tests/qemu-iotests/207 | 10 ++--- tests/qemu-iotests/207.out | 10 ++--- tests/qemu-iotests/common.rc | 2 +- tests/qemu-iotests/iotests.py | 2 +- 13 files changed, 159 insertions(+), 77 deletions(-) -- 2.20.1 ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [Qemu-devel] [PULL 00/11] Block patches 2019-05-07 15:18 Max Reitz @ 2019-05-09 8:49 ` Peter Maydell 2019-05-09 13:27 ` Max Reitz 0 siblings, 1 reply; 40+ messages in thread From: Peter Maydell @ 2019-05-09 8:49 UTC (permalink / raw) To: Max Reitz; +Cc: Kevin Wolf, QEMU Developers, Qemu-block On Tue, 7 May 2019 at 16:18, Max Reitz <mreitz@redhat.com> wrote: > > The following changes since commit 19eb2d4e736dc895f31fbd6b520e514f10cc08e0: > > Merge remote-tracking branch 'remotes/thibault/tags/samuel-thibault' into staging (2019-05-07 10:43:32 +0100) > > are available in the Git repository at: > > https://git.xanclic.moe/XanClic/qemu.git tags/pull-block-2019-05-07 > > for you to fetch changes up to 1278dce7927301bf3d004a40061dbd2c1e0846a8: > > iotests: Fix iotests 110 and 126 (2019-05-07 17:14:21 +0200) Attempting to fetch from this remote hangs: $ git fetch -v xanclic POST git-upload-pack (gzip 1798 to 966 bytes) POST git-upload-pack (gzip 1798 to 965 bytes) POST git-upload-pack (gzip 2648 to 1393 bytes) POST git-upload-pack (gzip 4248 to 2201 bytes) POST git-upload-pack (gzip 7498 to 3833 bytes) POST git-upload-pack (gzip 13998 to 7092 bytes) POST git-upload-pack (gzip 27648 to 13930 bytes) POST git-upload-pack (gzip 55148 to 27782 bytes) POST git-upload-pack (gzip 108948 to 54371 bytes) POST git-upload-pack (gzip 215798 to 107233 bytes) [no further output] thanks -- PMM ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [Qemu-devel] [PULL 00/11] Block patches 2019-05-09 8:49 ` Peter Maydell @ 2019-05-09 13:27 ` Max Reitz 2019-05-09 16:17 ` Peter Maydell 0 siblings, 1 reply; 40+ messages in thread From: Max Reitz @ 2019-05-09 13:27 UTC (permalink / raw) To: Peter Maydell; +Cc: Kevin Wolf, QEMU Developers, Qemu-block [-- Attachment #1: Type: text/plain, Size: 1441 bytes --] On 09.05.19 10:49, Peter Maydell wrote: > On Tue, 7 May 2019 at 16:18, Max Reitz <mreitz@redhat.com> wrote: >> >> The following changes since commit 19eb2d4e736dc895f31fbd6b520e514f10cc08e0: >> >> Merge remote-tracking branch 'remotes/thibault/tags/samuel-thibault' into staging (2019-05-07 10:43:32 +0100) >> >> are available in the Git repository at: >> >> https://git.xanclic.moe/XanClic/qemu.git tags/pull-block-2019-05-07 >> >> for you to fetch changes up to 1278dce7927301bf3d004a40061dbd2c1e0846a8: >> >> iotests: Fix iotests 110 and 126 (2019-05-07 17:14:21 +0200) > > Attempting to fetch from this remote hangs: > > $ git fetch -v xanclic > POST git-upload-pack (gzip 1798 to 966 bytes) > POST git-upload-pack (gzip 1798 to 965 bytes) > POST git-upload-pack (gzip 2648 to 1393 bytes) > POST git-upload-pack (gzip 4248 to 2201 bytes) > POST git-upload-pack (gzip 7498 to 3833 bytes) > POST git-upload-pack (gzip 13998 to 7092 bytes) > POST git-upload-pack (gzip 27648 to 13930 bytes) > POST git-upload-pack (gzip 55148 to 27782 bytes) > POST git-upload-pack (gzip 108948 to 54371 bytes) > POST git-upload-pack (gzip 215798 to 107233 bytes) > [no further output] Hm, that's unfortunate. It works for me. (At least now.) I've pushed the tag to Github: https://github.com/XanClic/qemu.git tags/pull-block-2019-05-07 I hope that works better. Sorry for the inconvenience, Max [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [Qemu-devel] [PULL 00/11] Block patches 2019-05-09 13:27 ` Max Reitz @ 2019-05-09 16:17 ` Peter Maydell 0 siblings, 0 replies; 40+ messages in thread From: Peter Maydell @ 2019-05-09 16:17 UTC (permalink / raw) To: Max Reitz; +Cc: Kevin Wolf, QEMU Developers, Qemu-block On Thu, 9 May 2019 at 14:27, Max Reitz <mreitz@redhat.com> wrote: > > On 09.05.19 10:49, Peter Maydell wrote: > > On Tue, 7 May 2019 at 16:18, Max Reitz <mreitz@redhat.com> wrote: > >> > >> The following changes since commit 19eb2d4e736dc895f31fbd6b520e514f10cc08e0: > >> > >> Merge remote-tracking branch 'remotes/thibault/tags/samuel-thibault' into staging (2019-05-07 10:43:32 +0100) > >> > >> are available in the Git repository at: > >> > >> https://git.xanclic.moe/XanClic/qemu.git tags/pull-block-2019-05-07 > >> > >> for you to fetch changes up to 1278dce7927301bf3d004a40061dbd2c1e0846a8: > >> > >> iotests: Fix iotests 110 and 126 (2019-05-07 17:14:21 +0200) > > > > Attempting to fetch from this remote hangs: > > > > $ git fetch -v xanclic > > POST git-upload-pack (gzip 1798 to 966 bytes) > > POST git-upload-pack (gzip 1798 to 965 bytes) > > POST git-upload-pack (gzip 2648 to 1393 bytes) > > POST git-upload-pack (gzip 4248 to 2201 bytes) > > POST git-upload-pack (gzip 7498 to 3833 bytes) > > POST git-upload-pack (gzip 13998 to 7092 bytes) > > POST git-upload-pack (gzip 27648 to 13930 bytes) > > POST git-upload-pack (gzip 55148 to 27782 bytes) > > POST git-upload-pack (gzip 108948 to 54371 bytes) > > POST git-upload-pack (gzip 215798 to 107233 bytes) > > [no further output] > > Hm, that's unfortunate. It works for me. (At least now.) > > I've pushed the tag to Github: > > https://github.com/XanClic/qemu.git tags/pull-block-2019-05-07 > > I hope that works better. Yep, that worked fine: I've applied that. Please update the changelog at https://wiki.qemu.org/ChangeLog/4.1 for any user-visible changes. (Strace says that we seem to successfully connect to the git.xanclic.moe server and do some talking to it, but the first time the client issues a "fetch" command the server never replies and the client is just blocked in read().) thanks -- PMM ^ permalink raw reply [flat|nested] 40+ messages in thread
* [Qemu-devel] [PULL 00/11] Block patches @ 2018-08-31 14:24 Max Reitz 2018-08-31 14:27 ` Max Reitz 0 siblings, 1 reply; 40+ messages in thread From: Max Reitz @ 2018-08-31 14:24 UTC (permalink / raw) To: qemu-block; +Cc: qemu-devel, Max Reitz, Peter Maydell, Kevin Wolf The following changes since commit 19b599f7664b2ebfd0f405fb79c14dd241557452: Merge remote-tracking branch 'remotes/armbru/tags/pull-error-2018-08-27-v2' into staging (2018-08-27 16:44:20 +0100) are available in the Git repository at: https://git.xanclic.moe/XanClic/qemu.git tags/pull-block-2018-08-31 for you to fetch changes up to 40954cc7831c4f95f9ce6402ae3d6761f44f31ff: jobs: remove job_defer_to_main_loop (2018-08-31 16:11:27 +0200) ---------------------------------------------------------------- Block patches: - (Block) job exit refactoring, part 1 (removing job_defer_to_main_loop()) - Locking fix for the file-posix block driver - test-bdrv-drain leak fix ---------------------------------------------------------------- Fam Zheng (1): file-posix: Skip effectiveless OFD lock operations John Snow (9): jobs: change start callback to run callback jobs: canonize Error object jobs: add exit shim block/commit: utilize job_exit shim block/mirror: utilize job_exit shim jobs: utilize job_exit shim block/backup: make function variables consistently named jobs: remove ret argument to job_completed; privatize it jobs: remove job_defer_to_main_loop Marc-André Lureau (1): tests: fix bdrv-drain leak include/qemu/job.h | 70 ++++++++++++++++----------------- block/backup.c | 81 ++++++++++++++++----------------------- block/commit.c | 29 +++++--------- block/create.c | 19 +++------ block/file-posix.c | 41 +++++++++++++++----- block/mirror.c | 39 ++++++++----------- block/stream.c | 29 ++++++-------- job-qmp.c | 5 ++- job.c | 73 ++++++++++++----------------------- tests/test-bdrv-drain.c | 14 +++---- tests/test-blockjob-txn.c | 25 +++++------- tests/test-blockjob.c | 17 ++++---- trace-events | 2 +- 13 files changed, 192 insertions(+), 252 deletions(-) -- 2.17.1 ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [Qemu-devel] [PULL 00/11] Block patches 2018-08-31 14:24 Max Reitz @ 2018-08-31 14:27 ` Max Reitz 0 siblings, 0 replies; 40+ messages in thread From: Max Reitz @ 2018-08-31 14:27 UTC (permalink / raw) To: qemu-block; +Cc: qemu-devel, Peter Maydell, Kevin Wolf [-- Attachment #1: Type: text/plain, Size: 961 bytes --] On 2018-08-31 16:24, Max Reitz wrote: > The following changes since commit 19b599f7664b2ebfd0f405fb79c14dd241557452: > > Merge remote-tracking branch 'remotes/armbru/tags/pull-error-2018-08-27-v2' into staging (2018-08-27 16:44:20 +0100) > > are available in the Git repository at: > > https://git.xanclic.moe/XanClic/qemu.git tags/pull-block-2018-08-31 > > for you to fetch changes up to 40954cc7831c4f95f9ce6402ae3d6761f44f31ff: > > jobs: remove job_defer_to_main_loop (2018-08-31 16:11:27 +0200) > > ---------------------------------------------------------------- > Block patches: > - (Block) job exit refactoring, part 1 > (removing job_defer_to_main_loop()) > - Locking fix for the file-posix block driver > - test-bdrv-drain leak fix > > ---------------------------------------------------------------- Self-NACK. Sorry, I don't quite know how the locking fix slipped in there, but it shouldn't be here. Max [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 40+ messages in thread
* [Qemu-devel] [PULL 00/11] Block patches @ 2018-06-04 11:20 Stefan Hajnoczi 2018-06-05 9:38 ` Peter Maydell 0 siblings, 1 reply; 40+ messages in thread From: Stefan Hajnoczi @ 2018-06-04 11:20 UTC (permalink / raw) To: qemu-devel Cc: Ronnie Sahlberg, Peter Maydell, qemu-block, Peter Lieven, Max Reitz, Paolo Bonzini, Kevin Wolf, Fam Zheng, Stefan Hajnoczi The following changes since commit c25e8bba1f546ea72744ccfab77f8a9e8a323be8: Merge remote-tracking branch 'remotes/otubo/tags/pull-seccomp-20180601' into staging (2018-06-01 13:11:30 +0100) are available in the Git repository at: git://github.com/stefanha/qemu.git tags/block-pull-request for you to fetch changes up to 21891a5a3011608845b5d7f1f9cce60cdc2bcc62: main-loop: drop spin_counter (2018-06-01 16:01:29 +0100) ---------------------------------------------------------------- Pull request * Copy offloading for qemu-img convert (iSCSI, raw, and qcow2) If the underlying storage supports copy offloading, qemu-img convert will use it instead of performing reads and writes. This avoids data transfers and thus frees up storage bandwidth for other purposes. SCSI EXTENDED COPY and Linux copy_file_range(2) are used to implement this optimization. * Drop spurious "WARNING: I\/O thread spun for 1000 iterations" warning ---------------------------------------------------------------- Fam Zheng (10): block: Introduce API for copy offloading raw: Check byte range uniformly raw: Implement copy offloading qcow2: Implement copy offloading file-posix: Implement bdrv_co_copy_range iscsi: Query and save device designator when opening iscsi: Create and use iscsi_co_wait_for_task iscsi: Implement copy offloading block-backend: Add blk_co_copy_range qemu-img: Convert with copy offloading Stefan Hajnoczi (1): main-loop: drop spin_counter configure | 17 ++ include/block/block.h | 32 ++++ include/block/block_int.h | 38 ++++ include/block/raw-aio.h | 10 +- include/scsi/constants.h | 4 + include/sysemu/block-backend.h | 4 + block/block-backend.c | 18 ++ block/file-posix.c | 98 +++++++++- block/io.c | 97 ++++++++++ block/iscsi.c | 314 +++++++++++++++++++++++++++---- block/qcow2.c | 229 +++++++++++++++++++--- block/raw-format.c | 96 +++++++--- qemu-img.c | 50 ++++- util/main-loop.c | 25 --- tests/qemu-iotests/common.filter | 1 - 15 files changed, 908 insertions(+), 125 deletions(-) -- 2.17.1 ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [Qemu-devel] [PULL 00/11] Block patches 2018-06-04 11:20 Stefan Hajnoczi @ 2018-06-05 9:38 ` Peter Maydell 0 siblings, 0 replies; 40+ messages in thread From: Peter Maydell @ 2018-06-05 9:38 UTC (permalink / raw) To: Stefan Hajnoczi Cc: QEMU Developers, Ronnie Sahlberg, Qemu-block, Peter Lieven, Max Reitz, Paolo Bonzini, Kevin Wolf, Fam Zheng On 4 June 2018 at 12:20, Stefan Hajnoczi <stefanha@redhat.com> wrote: > The following changes since commit c25e8bba1f546ea72744ccfab77f8a9e8a323be8: > > Merge remote-tracking branch 'remotes/otubo/tags/pull-seccomp-20180601' into staging (2018-06-01 13:11:30 +0100) > > are available in the Git repository at: > > git://github.com/stefanha/qemu.git tags/block-pull-request > > for you to fetch changes up to 21891a5a3011608845b5d7f1f9cce60cdc2bcc62: > > main-loop: drop spin_counter (2018-06-01 16:01:29 +0100) > > ---------------------------------------------------------------- > Pull request > > * Copy offloading for qemu-img convert (iSCSI, raw, and qcow2) > > If the underlying storage supports copy offloading, qemu-img convert will > use it instead of performing reads and writes. This avoids data transfers > and thus frees up storage bandwidth for other purposes. SCSI EXTENDED COPY > and Linux copy_file_range(2) are used to implement this optimization. > > * Drop spurious "WARNING: I\/O thread spun for 1000 iterations" warning > > ---------------------------------------------------------------- Applied, thanks. -- PMM ^ permalink raw reply [flat|nested] 40+ messages in thread
* [Qemu-devel] [PULL 00/11] Block patches @ 2017-01-16 13:39 Stefan Hajnoczi 2017-01-17 13:53 ` Peter Maydell 0 siblings, 1 reply; 40+ messages in thread From: Stefan Hajnoczi @ 2017-01-16 13:39 UTC (permalink / raw) To: qemu-devel; +Cc: Peter Maydell, Stefan Hajnoczi The following changes since commit 2ccede18bd24fce5db83fef3674563a1f256717b: Merge remote-tracking branch 'remotes/vivier/tags/m68k-for-2.9-pull-request' into staging (2017-01-16 12:41:35 +0000) are available in the git repository at: git://github.com/stefanha/qemu.git tags/block-pull-request for you to fetch changes up to 7d506c90afa47facdb993bc19c15863eef584f1d: async: optimize aio_bh_poll (2017-01-16 13:25:18 +0000) ---------------------------------------------------------------- ---------------------------------------------------------------- Paolo Bonzini (11): block: get rid of bdrv_io_unplugged_begin/end aio: rename bh_lock to list_lock qemu-thread: introduce QemuLockCnt aio: make ctx->list_lock a QemuLockCnt, subsuming ctx->walking_bh qemu-thread: optimize QemuLockCnt with futexes on Linux aio-posix: split aio_dispatch_handlers out of aio_dispatch aio: tweak walking in dispatch phase aio-posix: remove walking_handlers, protecting AioHandler list with list_lock aio-win32: remove walking_handlers, protecting AioHandler list with list_lock aio: document locking async: optimize aio_bh_poll docs/lockcnt.txt | 277 +++++++++++++++++++++++++++++++ docs/multiple-iothreads.txt | 13 +- util/Makefile.objs | 1 + include/block/aio.h | 38 ++--- include/block/block.h | 2 - include/block/block_int.h | 3 +- include/qemu/futex.h | 36 ++++ include/qemu/thread.h | 112 +++++++++++++ aio-posix.c | 118 +++++++------ aio-win32.c | 83 +++++---- async.c | 45 ++--- block/io.c | 41 +---- util/lockcnt.c | 397 ++++++++++++++++++++++++++++++++++++++++++++ util/qemu-thread-posix.c | 35 +--- util/qemu-thread-win32.c | 2 +- util/trace-events | 10 ++ 16 files changed, 1010 insertions(+), 203 deletions(-) create mode 100644 docs/lockcnt.txt create mode 100644 include/qemu/futex.h create mode 100644 util/lockcnt.c -- 2.9.3 ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [Qemu-devel] [PULL 00/11] Block patches 2017-01-16 13:39 Stefan Hajnoczi @ 2017-01-17 13:53 ` Peter Maydell 0 siblings, 0 replies; 40+ messages in thread From: Peter Maydell @ 2017-01-17 13:53 UTC (permalink / raw) To: Stefan Hajnoczi; +Cc: QEMU Developers On 16 January 2017 at 13:39, Stefan Hajnoczi <stefanha@redhat.com> wrote: > The following changes since commit 2ccede18bd24fce5db83fef3674563a1f256717b: > > Merge remote-tracking branch 'remotes/vivier/tags/m68k-for-2.9-pull-request' into staging (2017-01-16 12:41:35 +0000) > > are available in the git repository at: > > git://github.com/stefanha/qemu.git tags/block-pull-request > > for you to fetch changes up to 7d506c90afa47facdb993bc19c15863eef584f1d: > > async: optimize aio_bh_poll (2017-01-16 13:25:18 +0000) > > ---------------------------------------------------------------- > > ---------------------------------------------------------------- Applied, thanks. -- PMM ^ permalink raw reply [flat|nested] 40+ messages in thread
* [Qemu-devel] [PULL 00/11] Block patches @ 2014-09-26 18:58 Kevin Wolf 2014-09-29 13:03 ` Peter Maydell 0 siblings, 1 reply; 40+ messages in thread From: Kevin Wolf @ 2014-09-26 18:58 UTC (permalink / raw) To: qemu-devel; +Cc: kwolf The following changes since commit 4f2280b2190e39aa6761cc8188626ed9aad350c1: Merge remote-tracking branch 'remotes/mcayland/tags/qemu-sparc-signed' into staging (2014-09-24 13:45:13 +0100) are available in the git repository at: git://repo.or.cz/qemu/kevin.git tags/for-upstream for you to fetch changes up to c9d17ad0dd3f04cdef44d58db97ea9864fbcdee7: qemu-iotests: Fail test if explicit test case number is unknown (2014-09-25 15:25:20 +0200) ---------------------------------------------------------------- Block patches ---------------------------------------------------------------- Fam Zheng (1): qemu-iotests: Fail test if explicit test case number is unknown Kevin Wolf (3): block: Specify -drive legacy option aliases in array block: Catch simultaneous usage of options and their aliases block: Validate node-name Markus Armbruster (4): blockdev: Disentangle BlockDriverState and DriveInfo creation block: Keep DriveInfo alive until BlockDriverState dies qemu-nbd: Destroy the BlockDriverState properly block: Improve message for device name clashing with node name Stefan Hajnoczi (3): blkdebug: show an error for invalid event names docs: add blkdebug block driver documentation vpc: fix beX_to_cpu() and cpu_to_beX() confusion block.c | 21 ++++-- block/blkdebug.c | 22 ++++++- block/vpc.c | 44 ++++++------- blockdev.c | 103 ++++++++++++++++++----------- docs/blkdebug.txt | 161 +++++++++++++++++++++++++++++++++++++++++++++ include/qemu/option.h | 1 + include/sysemu/blockdev.h | 1 + qemu-img.c | 6 +- qemu-nbd.c | 2 +- stubs/Makefile.objs | 1 + stubs/blockdev.c | 12 ++++ tests/qemu-iotests/051 | 23 +++++++ tests/qemu-iotests/051.out | 45 +++++++++++++ tests/qemu-iotests/087.out | 2 +- tests/qemu-iotests/common | 10 ++- util/qemu-option.c | 4 +- 16 files changed, 382 insertions(+), 76 deletions(-) create mode 100644 docs/blkdebug.txt create mode 100644 stubs/blockdev.c ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [Qemu-devel] [PULL 00/11] Block patches 2014-09-26 18:58 Kevin Wolf @ 2014-09-29 13:03 ` Peter Maydell 0 siblings, 0 replies; 40+ messages in thread From: Peter Maydell @ 2014-09-29 13:03 UTC (permalink / raw) To: Kevin Wolf; +Cc: QEMU Developers On 26 September 2014 19:58, Kevin Wolf <kwolf@redhat.com> wrote: > The following changes since commit 4f2280b2190e39aa6761cc8188626ed9aad350c1: > > Merge remote-tracking branch 'remotes/mcayland/tags/qemu-sparc-signed' into staging (2014-09-24 13:45:13 +0100) > > are available in the git repository at: > > > git://repo.or.cz/qemu/kevin.git tags/for-upstream > > for you to fetch changes up to c9d17ad0dd3f04cdef44d58db97ea9864fbcdee7: > > qemu-iotests: Fail test if explicit test case number is unknown (2014-09-25 15:25:20 +0200) > > ---------------------------------------------------------------- > Block patches > > ---------------------------------------------------------------- Applied, thanks. -- PMM ^ permalink raw reply [flat|nested] 40+ messages in thread
* [Qemu-devel] [PULL 00/11] Block patches @ 2014-02-14 17:29 Stefan Hajnoczi 2014-02-15 16:37 ` Peter Maydell 0 siblings, 1 reply; 40+ messages in thread From: Stefan Hajnoczi @ 2014-02-14 17:29 UTC (permalink / raw) To: qemu-devel; +Cc: Peter Maydell, Anthony Liguori The following changes since commit 0888a29caac6e1b668e498a0ad4d1fea15de012b: Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging (2014-02-13 15:02:04 +0000) are available in the git repository at: git://github.com/stefanha/qemu.git tags/block-pull-request for you to fetch changes up to 0c5e94ee8339e1aa49020466eba232e6f7c31a0a: block: Open by reference will try device then node_name. (2014-02-14 18:05:39 +0100) ---------------------------------------------------------------- Block pull request ---------------------------------------------------------------- Benoît Canet (3): blockdev: Fix wrong usage of QDECREF causing snapshoted quorum to crash on close. block: Relax bdrv_lookup_bs constraints. block: Open by reference will try device then node_name. Fam Zheng (1): qemu-iotests: Don't run 005 on vmdk split formats Jeff Cody (5): block: Add notes to iSCSI's .bdrv_open and .bdrv_reopen_prepare block: Don't throw away errno via error_setg block: qemu-iotests - fix test 070 (vhdx) block: qemu-iotests - add vhdx log replay tests for qemu-img block: mirror - use local_err to avoid NULL errp Kevin Wolf (2): sdhci: Drop unnecessary #include blockdev: Remove 'type' parameter from blockdev_init() block.c | 36 ++++++++++++++++-------------- block/iscsi.c | 10 +++++++-- block/mirror.c | 19 +++++++++++----- block/qcow2-snapshot.c | 8 ++++--- block/vmdk.c | 6 ++--- blockdev.c | 55 ++++++++++++++++++++++++++++++++-------------- hw/sd/sdhci.c | 1 - tests/qemu-iotests/005 | 2 ++ tests/qemu-iotests/070 | 13 ++++++++++- tests/qemu-iotests/070.out | 15 ++++++++++++- 10 files changed, 115 insertions(+), 50 deletions(-) -- 1.8.5.3 ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [Qemu-devel] [PULL 00/11] Block patches 2014-02-14 17:29 Stefan Hajnoczi @ 2014-02-15 16:37 ` Peter Maydell 0 siblings, 0 replies; 40+ messages in thread From: Peter Maydell @ 2014-02-15 16:37 UTC (permalink / raw) To: Stefan Hajnoczi; +Cc: QEMU Developers, Anthony Liguori On 14 February 2014 17:29, Stefan Hajnoczi <stefanha@redhat.com> wrote: > The following changes since commit 0888a29caac6e1b668e498a0ad4d1fea15de012b: > > Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging (2014-02-13 15:02:04 +0000) > > are available in the git repository at: > > > git://github.com/stefanha/qemu.git tags/block-pull-request > > for you to fetch changes up to 0c5e94ee8339e1aa49020466eba232e6f7c31a0a: > > block: Open by reference will try device then node_name. (2014-02-14 18:05:39 +0100) Applied, thanks. -- PMM ^ permalink raw reply [flat|nested] 40+ messages in thread
* [Qemu-devel] [PULL 00/11] Block patches @ 2013-09-20 17:42 Stefan Hajnoczi 0 siblings, 0 replies; 40+ messages in thread From: Stefan Hajnoczi @ 2013-09-20 17:42 UTC (permalink / raw) To: qemu-devel; +Cc: Stefan Hajnoczi, Anthony Liguori The following changes since commit 6c2679fc19560699679200fb42ab4659bcbe7f79: Merge remote-tracking branch 'kiszka/queues/slirp' into staging (2013-09-17 10:01:24 -0500) are available in the git repository at: git://github.com/stefanha/qemu.git block for you to fetch changes up to ef5bc96268ceec64769617dc53b0ac3a20ff351c: virtio-blk: do not relay a previous driver's WCE configuration to the current (2013-09-20 19:27:48 +0200) ---------------------------------------------------------------- Fam Zheng (1): block: don't lose data from last incomplete sector Gabriel Kerneis (2): coroutine: add qemu_coroutine_yield benchmark coroutine: fix /perf/nesting coroutine benchmark Max Reitz (1): qcow2: Correct snapshots size for overlap check Paolo Bonzini (3): qemu-timer: do not take the lock in timer_pending blockdev: do not default cache.no-flush to true virtio-blk: do not relay a previous driver's WCE configuration to the current Stefan Hajnoczi (4): libcacard: link against qemu-error.o for error_report() osdep: warn if open(O_DIRECT) on fails with EINVAL qemu-timer: drop outdated signal safety comments qemu-timer: make qemu_timer_mod_ns() and qemu_timer_del() thread-safe block.c | 2 +- block/qcow2-snapshot.c | 2 +- blockdev.c | 2 +- hw/block/virtio-blk.c | 24 ++++++++++- include/hw/virtio/virtio-blk.h | 1 + include/qemu/timer.h | 17 ++++++++ libcacard/Makefile | 3 +- qemu-timer.c | 92 +++++++++++++++++++++++++++++------------- tests/test-coroutine.c | 45 ++++++++++++++++++--- util/osdep.c | 7 ++++ 10 files changed, 155 insertions(+), 40 deletions(-) -- 1.8.3.1 ^ permalink raw reply [flat|nested] 40+ messages in thread
* [Qemu-devel] [PULL 00/11] Block patches @ 2013-05-24 14:32 Stefan Hajnoczi 2013-06-17 21:18 ` Anthony Liguori 0 siblings, 1 reply; 40+ messages in thread From: Stefan Hajnoczi @ 2013-05-24 14:32 UTC (permalink / raw) To: qemu-devel; +Cc: Anthony Liguori, Stefan Hajnoczi The following changes since commit 64afc2b4d48fb21e085517c38a59a3f61a11283c: Merge remote-tracking branch 'luiz/queue/qmp' into staging (2013-05-23 14:16:35 -0500) are available in the git repository at: git://github.com/stefanha/qemu.git block for you to fetch changes up to 02ffb504485f0920cfc75a0982a602f824a9a4f4: coroutine: stop using AioContext in CoQueue (2013-05-24 16:17:56 +0200) ---------------------------------------------------------------- Kevin Wolf (4): blockdev: Rename BlockdevAction -> TransactionAction qemu-io: Fix 'map' output qcow2.py: Subcommand for changing header fields qemu-iotests: Try creating huge qcow2 image Stefan Hajnoczi (2): coroutine: protect global pool with a mutex coroutine: stop using AioContext in CoQueue Wenchao Xia (5): block: package preparation code in qmp_transaction() block: move input parsing code in qmp_transaction() block: package committing code in qmp_transaction() block: package rollback code in qmp_transaction() block: make all steps in qmp_transaction() as callback blockdev.c | 280 ++++++++++++++++++++++++++---------------- include/block/coroutine_int.h | 4 + qapi-schema.json | 21 ++-- qemu-coroutine-lock.c | 56 ++++----- qemu-coroutine.c | 23 +++- qemu-io.c | 46 ++++++- tests/qemu-iotests/054 | 58 +++++++++ tests/qemu-iotests/054.out | 10 ++ tests/qemu-iotests/common.rc | 2 +- tests/qemu-iotests/group | 1 + tests/qemu-iotests/qcow2.py | 17 +++ trace-events | 2 +- 12 files changed, 361 insertions(+), 159 deletions(-) create mode 100755 tests/qemu-iotests/054 create mode 100644 tests/qemu-iotests/054.out -- 1.8.1.4 ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [Qemu-devel] [PULL 00/11] Block patches 2013-05-24 14:32 Stefan Hajnoczi @ 2013-06-17 21:18 ` Anthony Liguori 0 siblings, 0 replies; 40+ messages in thread From: Anthony Liguori @ 2013-06-17 21:18 UTC (permalink / raw) To: Stefan Hajnoczi, qemu-devel; +Cc: Anthony Liguori Pulled. Thanks. Regards, Anthony Liguori ^ permalink raw reply [flat|nested] 40+ messages in thread
* [Qemu-devel] [PULL 00/11] Block patches @ 2013-04-26 11:44 Stefan Hajnoczi 0 siblings, 0 replies; 40+ messages in thread From: Stefan Hajnoczi @ 2013-04-26 11:44 UTC (permalink / raw) To: qemu-devel; +Cc: Anthony Liguori, Stefan Hajnoczi The following changes since commit e3351000cd682200835763caca87adf708ed1c65: Makefile: Use QEMU_FLAGS for DTC compilation (2013-04-26 02:48:10 +0200) are available in the git repository at: git://github.com/stefanha/qemu.git block for you to fetch changes up to 859e5553a428225de6b8ef302cdcfd68d140b926: sheepdog: fix loadvm operation (2013-04-26 13:37:51 +0200) ---------------------------------------------------------------- Kevin Wolf (2): block: Disable driver-specific options for 1.5 rbd: Fix use after free in rbd_open() Liu Yuan (4): sheepdog: add discard/trim support for sheepdog sheepdog: use BDRV_SECTOR_SIZE sheepdog: implement .bdrv_co_is_allocated() sheepdog: fix loadvm operation MORITA Kazutaka (4): sheepdog: cleanup find_vdi_name sheepdog: add SD_RES_READONLY result code sheepdog: add helper function to reload inode sheepdog: resend write requests when SD_RES_READONLY is received Richard W.M. Jones (1): block/ssh: Require libssh2 >= 1.2.8. block/rbd.c | 9 +- block/sheepdog.c | 308 ++++++++++++++++++++++++++++++++++++++++------- blockdev.c | 118 +++++++++++++++++- configure | 24 +--- tests/qemu-iotests/group | 2 +- 5 files changed, 390 insertions(+), 71 deletions(-) -- 1.8.1.4 ^ permalink raw reply [flat|nested] 40+ messages in thread
* [Qemu-devel] [PULL 00/11] Block patches @ 2013-04-15 8:22 Stefan Hajnoczi 0 siblings, 0 replies; 40+ messages in thread From: Stefan Hajnoczi @ 2013-04-15 8:22 UTC (permalink / raw) To: qemu-devel; +Cc: Anthony Liguori The following changes since commit e2ec3f976803b360c70d9ae2ba13852fa5d11665: qjson: to_json() case QTYPE_QSTRING is buggy, rewrite (2013-04-13 19:40:25 +0000) are available in the git repository at: git://github.com/stefanha/qemu.git block for you to fetch changes up to dc7588c1eb3008bda53dde1d6b890cd299758155: rbd: add an asynchronous flush (2013-04-15 10:18:05 +0200) ---------------------------------------------------------------- Josh Durgin (1): rbd: add an asynchronous flush Kevin Wolf (5): block: Introduce bdrv_writev_vmstate savevm: Implement block_writev_buffer() block: Introduce bdrv_pwritev() for qcow2_save_vmstate qemu-iotests: A few more bdrv_pread/pwrite tests qemu-iotests: Add test for -drive options Richard W.M. Jones (3): block: Add support for Secure Shell (ssh) block device. block: ssh: Use libssh2_sftp_fsync (if supported by libssh2) to flush to disk. iotests: Add 'check -ssh' option to test Secure Shell block device. Stefan Hajnoczi (2): qemu-iotests: filter QEMU_PROG in 051.out ide: refuse WIN_READ_NATIVE_MAX on empty device block.c | 105 +++- block/Makefile.objs | 1 + block/qcow2.c | 6 +- block/rbd.c | 37 +- block/sheepdog.c | 13 +- block/ssh.c | 1063 ++++++++++++++++++++++++++++++++++++++ configure | 73 +++ hw/ide/core.c | 4 + include/block/block.h | 3 + include/block/block_int.h | 4 +- include/migration/qemu-file.h | 2 +- qemu-doc.texi | 54 ++ qemu-options.hx | 12 + savevm.c | 25 +- tests/qemu-iotests/002 | 13 + tests/qemu-iotests/002.out | 26 + tests/qemu-iotests/051 | 148 ++++++ tests/qemu-iotests/051.out | 162 ++++++ tests/qemu-iotests/common | 5 + tests/qemu-iotests/common.filter | 6 + tests/qemu-iotests/common.rc | 3 + tests/qemu-iotests/group | 1 + 22 files changed, 1722 insertions(+), 44 deletions(-) create mode 100644 block/ssh.c create mode 100755 tests/qemu-iotests/051 create mode 100644 tests/qemu-iotests/051.out -- 1.8.1.4 ^ permalink raw reply [flat|nested] 40+ messages in thread
* [Qemu-devel] [PULL 00/11] Block patches @ 2012-08-10 16:47 Kevin Wolf 2012-08-12 18:14 ` Anthony Liguori 0 siblings, 1 reply; 40+ messages in thread From: Kevin Wolf @ 2012-08-10 16:47 UTC (permalink / raw) To: anthony; +Cc: kwolf, qemu-devel The following changes since commit 3d1d9652978ac5a32a0beb4bdf6065ca39440d89: handle device help before accelerator set up (2012-08-09 19:53:01 +0000) are available in the git repository at: http://repo.or.cz/r/qemu/kevin.git for-anthony Avi Kivity (1): virtio-blk: fix use-after-free while handling scsi commands Jason Baron (2): ahci: Fix ahci cdrom read corruptions for reads > 128k ahci: Fix sglist memleak in ahci_dma_rw_buf() Kevin Wolf (1): qemu-iotests: Save some sed processes Paolo Bonzini (3): virtio-blk: support VIRTIO_BLK_F_CONFIG_WCE virtio-blk: disable write cache if not negotiated blockdev: flip default cache mode from writethrough to writeback Stefan Hajnoczi (4): qed: mark image clean after repair succeeds qcow2: mark image clean after repair succeeds block: add BLOCK_O_CHECK for qemu-img check qemu-iotests: skip 039 with ./check -nocache block.h | 1 + block/qcow2.c | 32 ++++++++++++++++-------------- block/qed-check.c | 26 ++++++++++++++++++++++++ block/qed.c | 11 +-------- block/qed.h | 5 ++++ blockdev.c | 1 + dma-helpers.c | 1 + hw/ide/ahci.c | 44 +++++++++++++++++++++++++++++++++++------ hw/ide/internal.h | 1 + hw/virtio-blk.c | 31 +++++++++++++++++++++++++++- hw/virtio-blk.h | 4 ++- qemu-img.c | 2 +- tests/qemu-iotests/039 | 1 + tests/qemu-iotests/039.out | 6 +++++ tests/qemu-iotests/common.rc | 34 ++++++++++++++++++++++--------- 15 files changed, 155 insertions(+), 45 deletions(-) ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [Qemu-devel] [PULL 00/11] Block patches 2012-08-10 16:47 Kevin Wolf @ 2012-08-12 18:14 ` Anthony Liguori 0 siblings, 0 replies; 40+ messages in thread From: Anthony Liguori @ 2012-08-12 18:14 UTC (permalink / raw) To: Kevin Wolf; +Cc: qemu-devel Kevin Wolf <kwolf@redhat.com> writes: > The following changes since commit 3d1d9652978ac5a32a0beb4bdf6065ca39440d89: > > handle device help before accelerator set up (2012-08-09 19:53:01 +0000) > > are available in the git repository at: > http://repo.or.cz/r/qemu/kevin.git for-anthony Pulled. Thanks. Regards, Anthony Liguori > > Avi Kivity (1): > virtio-blk: fix use-after-free while handling scsi commands > > Jason Baron (2): > ahci: Fix ahci cdrom read corruptions for reads > 128k > ahci: Fix sglist memleak in ahci_dma_rw_buf() > > Kevin Wolf (1): > qemu-iotests: Save some sed processes > > Paolo Bonzini (3): > virtio-blk: support VIRTIO_BLK_F_CONFIG_WCE > virtio-blk: disable write cache if not negotiated > blockdev: flip default cache mode from writethrough to writeback > > Stefan Hajnoczi (4): > qed: mark image clean after repair succeeds > qcow2: mark image clean after repair succeeds > block: add BLOCK_O_CHECK for qemu-img check > qemu-iotests: skip 039 with ./check -nocache > > block.h | 1 + > block/qcow2.c | 32 ++++++++++++++++-------------- > block/qed-check.c | 26 ++++++++++++++++++++++++ > block/qed.c | 11 +-------- > block/qed.h | 5 ++++ > blockdev.c | 1 + > dma-helpers.c | 1 + > hw/ide/ahci.c | 44 +++++++++++++++++++++++++++++++++++------ > hw/ide/internal.h | 1 + > hw/virtio-blk.c | 31 +++++++++++++++++++++++++++- > hw/virtio-blk.h | 4 ++- > qemu-img.c | 2 +- > tests/qemu-iotests/039 | 1 + > tests/qemu-iotests/039.out | 6 +++++ > tests/qemu-iotests/common.rc | 34 ++++++++++++++++++++++--------- > 15 files changed, 155 insertions(+), 45 deletions(-) ^ permalink raw reply [flat|nested] 40+ messages in thread
* [Qemu-devel] [PULL 00/11] Block patches @ 2011-04-27 13:42 Kevin Wolf 2011-04-27 14:26 ` Aurelien Jarno 0 siblings, 1 reply; 40+ messages in thread From: Kevin Wolf @ 2011-04-27 13:42 UTC (permalink / raw) To: anthony; +Cc: kwolf, qemu-devel The following changes since commit 430a3c18064fd3c007048d757e8bd0fff45fcc99: configure: reenable opengl by default (2011-04-26 23:26:49 +0200) are available in the git repository at: git://repo.or.cz/qemu/kevin.git for-anthony Amit Shah (1): atapi: Add 'medium ready' to 'medium not ready' transition on cd change Anthony Liguori (1): qemu-img: allow rebase to a NULL backing file when unsafe Avishay Traeger (1): Improve accuracy of block migration bandwidth calculation Jes Sorensen (2): Add dd-style SIGUSR1 progress reporting Remove obsolete 'enabled' variable from progress state Kevin Wolf (5): ide: Split atapi.c out ide/atapi: Factor commands out ide/atapi: Use table instead of switch for commands ide/atapi: Replace bdrv_get_geometry calls by s->nb_sectors ide/atapi: Introduce CHECK_READY flag for commands Stefan Hajnoczi (1): qed: Fix consistency check on 32-bit hosts Makefile.objs | 2 +- block-migration.c | 23 +- block/qed-check.c | 4 +- block/qed.h | 2 +- hw/ide/atapi.c | 1134 +++++++++++++++++++++++++++++++++++++++++++++++++++++ hw/ide/core.c | 1067 +------------------------------------------------- hw/ide/internal.h | 14 +- qemu-img.c | 2 +- qemu-progress.c | 61 +++- 9 files changed, 1221 insertions(+), 1088 deletions(-) create mode 100644 hw/ide/atapi.c ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [Qemu-devel] [PULL 00/11] Block patches 2011-04-27 13:42 Kevin Wolf @ 2011-04-27 14:26 ` Aurelien Jarno 0 siblings, 0 replies; 40+ messages in thread From: Aurelien Jarno @ 2011-04-27 14:26 UTC (permalink / raw) To: Kevin Wolf; +Cc: qemu-devel On Wed, Apr 27, 2011 at 03:42:59PM +0200, Kevin Wolf wrote: > The following changes since commit 430a3c18064fd3c007048d757e8bd0fff45fcc99: > > configure: reenable opengl by default (2011-04-26 23:26:49 +0200) > > are available in the git repository at: > git://repo.or.cz/qemu/kevin.git for-anthony > > Amit Shah (1): > atapi: Add 'medium ready' to 'medium not ready' transition on cd change > > Anthony Liguori (1): > qemu-img: allow rebase to a NULL backing file when unsafe > > Avishay Traeger (1): > Improve accuracy of block migration bandwidth calculation > > Jes Sorensen (2): > Add dd-style SIGUSR1 progress reporting > Remove obsolete 'enabled' variable from progress state > > Kevin Wolf (5): > ide: Split atapi.c out > ide/atapi: Factor commands out > ide/atapi: Use table instead of switch for commands > ide/atapi: Replace bdrv_get_geometry calls by s->nb_sectors > ide/atapi: Introduce CHECK_READY flag for commands > > Stefan Hajnoczi (1): > qed: Fix consistency check on 32-bit hosts > > Makefile.objs | 2 +- > block-migration.c | 23 +- > block/qed-check.c | 4 +- > block/qed.h | 2 +- > hw/ide/atapi.c | 1134 +++++++++++++++++++++++++++++++++++++++++++++++++++++ > hw/ide/core.c | 1067 +------------------------------------------------- > hw/ide/internal.h | 14 +- > qemu-img.c | 2 +- > qemu-progress.c | 61 +++- > 9 files changed, 1221 insertions(+), 1088 deletions(-) > create mode 100644 hw/ide/atapi.c > Thanks, pulled. -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurelien@aurel32.net http://www.aurel32.net ^ permalink raw reply [flat|nested] 40+ messages in thread
* [Qemu-devel] [PULL 00/11] Block patches @ 2010-10-22 13:43 Kevin Wolf 0 siblings, 0 replies; 40+ messages in thread From: Kevin Wolf @ 2010-10-22 13:43 UTC (permalink / raw) To: anthony; +Cc: kwolf, qemu-devel The following changes since commit d03703c81a202cea156811e5dbc8e88627c19986: curses: Fix control-{@[\]^_} and ESC (2010-10-21 18:31:28 +0200) are available in the git repository at: git://repo.or.cz/qemu/kevin.git for-anthony Christoph Hellwig (1): ide: set WCACHE supported in IDENTIFY data Kevin Wolf (7): qcow2: Simplify image creation qcow2: Remove old image creation function qemu-io: New command map qemu-img: Fix qemu-img convert -obacking_file ide: Factor ide_flush_cache out ide: Handle flush failure virtio-blk: Respect werror option for flushes Stefan Hajnoczi (1): qcow2: Support exact L1 table growth Stefan Weil (1): block: Use GCC_FMT_ATTR and fix a format error edison (1): Copy snapshots out of QCOW2 disk block.c | 16 +++ block.h | 2 + block/blkverify.c | 5 +- block/qcow2-cluster.c | 25 +++-- block/qcow2-snapshot.c | 33 ++++++- block/qcow2.c | 278 ++++++++++++++++-------------------------------- block/qcow2.h | 3 +- block_int.h | 2 + hw/ide/core.c | 28 ++++-- hw/ide/internal.h | 3 +- hw/virtio-blk.c | 8 ++- qemu-img-cmds.hx | 4 +- qemu-img.c | 26 +++++- qemu-img.texi | 4 +- qemu-io.c | 39 +++++++ 15 files changed, 264 insertions(+), 212 deletions(-) ^ permalink raw reply [flat|nested] 40+ messages in thread
* [Qemu-devel] [PULL 00/11] Block patches @ 2010-05-07 15:13 Kevin Wolf 0 siblings, 0 replies; 40+ messages in thread From: Kevin Wolf @ 2010-05-07 15:13 UTC (permalink / raw) To: aliguori; +Cc: kwolf, qemu-devel The following changes since commit 2065061ede22d401aae2ce995c3af54db9d28639: Igor V. Kovalenko (1): sparc64: handle asi referencing nucleus and secondary MMU contexts are available in the git repository at: git://repo.or.cz/qemu/kevin.git for-anthony Christoph Hellwig (4): cloop: use pread cloop: use qemu block API bochs: use pread bochs: use qemu block API Kevin Wolf (4): ide: Fix ide_dma_cancel block: Avoid unchecked casts for AIOCBs block: Fix protocol detection for Windows devices block: Fix bdrv_commit Ryota Ozaki (1): qemu-nbd: Improve error reporting Stefan Hajnoczi (1): block: Remove semicolon in BDRV_SECTOR_MASK macro Stefan Weil (1): block/vdi: Allow disk images of size 0 block.c | 19 +++++++----- block.h | 2 +- block/blkdebug.c | 4 +- block/bochs.c | 81 +++++++++++++++-------------------------------------- block/cloop.c | 48 ++++++++++++++++---------------- block/qcow.c | 2 +- block/qcow2.c | 2 +- block/vdi.c | 11 +++++-- hw/ide/core.c | 8 ++-- qemu-nbd.c | 34 ++++++++++++++++------ 10 files changed, 99 insertions(+), 112 deletions(-) ^ permalink raw reply [flat|nested] 40+ messages in thread
end of thread, other threads:[~2019-05-09 16:18 UTC | newest] Thread overview: 40+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2012-09-14 12:39 [Qemu-devel] [PULL 00/11] Block patches Kevin Wolf 2012-09-14 12:39 ` [Qemu-devel] [PATCH 01/11] sheepdog: fix savevm and loadvm Kevin Wolf 2012-09-14 12:39 ` [Qemu-devel] [PATCH 02/11] ATAPI: STARTSTOPUNIT only eject/load media if powercondition is 0 Kevin Wolf 2012-09-14 12:39 ` [Qemu-devel] [PATCH 03/11] ide: Fix error messages from static code analysis (no real error) Kevin Wolf 2012-09-14 12:39 ` [Qemu-devel] [PATCH 04/11] block/curl: Fix wrong free statement Kevin Wolf 2012-09-14 12:39 ` [Qemu-devel] [PATCH 05/11] vdi: Fix warning from clang Kevin Wolf 2012-09-14 12:39 ` [Qemu-devel] [PATCH 06/11] block: fix block tray status Kevin Wolf 2012-09-14 12:39 ` [Qemu-devel] [PATCH 07/11] ahci: properly reset PxCMD on HBA reset Kevin Wolf 2012-09-14 12:39 ` [Qemu-devel] [PATCH 08/11] qapi: Add SnapshotInfo and ImageInfo Kevin Wolf 2012-09-14 12:39 ` [Qemu-devel] [PATCH 09/11] qemu-img: Add json output option to the info command Kevin Wolf 2012-09-14 12:39 ` [Qemu-devel] [PATCH 10/11] Don't require encryption password for 'qemu-img info' command Kevin Wolf 2012-09-14 12:39 ` [Qemu-devel] [PATCH 11/11] block: Don't forget to delete temporary file Kevin Wolf 2012-09-17 18:19 ` [Qemu-devel] [PULL 00/11] Block patches Anthony Liguori 2012-09-18 17:49 ` Michael Tokarev 2012-09-19 8:42 ` Kevin Wolf -- strict thread matches above, loose matches on Subject: below -- 2019-05-07 15:18 Max Reitz 2019-05-09 8:49 ` Peter Maydell 2019-05-09 13:27 ` Max Reitz 2019-05-09 16:17 ` Peter Maydell 2018-08-31 14:24 Max Reitz 2018-08-31 14:27 ` Max Reitz 2018-06-04 11:20 Stefan Hajnoczi 2018-06-05 9:38 ` Peter Maydell 2017-01-16 13:39 Stefan Hajnoczi 2017-01-17 13:53 ` Peter Maydell 2014-09-26 18:58 Kevin Wolf 2014-09-29 13:03 ` Peter Maydell 2014-02-14 17:29 Stefan Hajnoczi 2014-02-15 16:37 ` Peter Maydell 2013-09-20 17:42 Stefan Hajnoczi 2013-05-24 14:32 Stefan Hajnoczi 2013-06-17 21:18 ` Anthony Liguori 2013-04-26 11:44 Stefan Hajnoczi 2013-04-15 8:22 Stefan Hajnoczi 2012-08-10 16:47 Kevin Wolf 2012-08-12 18:14 ` Anthony Liguori 2011-04-27 13:42 Kevin Wolf 2011-04-27 14:26 ` Aurelien Jarno 2010-10-22 13:43 Kevin Wolf 2010-05-07 15:13 Kevin Wolf
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.