* [Qemu-devel] [PULL 00/11] Block patches
@ 2010-05-07 15:13 Kevin Wolf
2010-05-07 15:13 ` [Qemu-devel] [PATCH 01/11] block: Remove semicolon in BDRV_SECTOR_MASK macro Kevin Wolf
` (10 more replies)
0 siblings, 11 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
* [Qemu-devel] [PATCH 01/11] block: Remove semicolon in BDRV_SECTOR_MASK macro
2010-05-07 15:13 [Qemu-devel] [PULL 00/11] Block patches Kevin Wolf
@ 2010-05-07 15:13 ` Kevin Wolf
2010-05-07 15:13 ` [Qemu-devel] [PATCH 02/11] qemu-nbd: Improve error reporting Kevin Wolf
` (9 subsequent siblings)
10 siblings, 0 replies; 40+ messages in thread
From: Kevin Wolf @ 2010-05-07 15:13 UTC (permalink / raw)
To: aliguori; +Cc: kwolf, qemu-devel
From: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
block.h | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/block.h b/block.h
index f87d24e..278259c 100644
--- a/block.h
+++ b/block.h
@@ -38,7 +38,7 @@ typedef struct QEMUSnapshotInfo {
#define BDRV_SECTOR_BITS 9
#define BDRV_SECTOR_SIZE (1 << BDRV_SECTOR_BITS)
-#define BDRV_SECTOR_MASK ~(BDRV_SECTOR_SIZE - 1);
+#define BDRV_SECTOR_MASK ~(BDRV_SECTOR_SIZE - 1)
typedef enum {
BDRV_ACTION_REPORT, BDRV_ACTION_IGNORE, BDRV_ACTION_STOP
--
1.6.6.1
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [Qemu-devel] [PATCH 02/11] qemu-nbd: Improve error reporting
2010-05-07 15:13 [Qemu-devel] [PULL 00/11] Block patches Kevin Wolf
2010-05-07 15:13 ` [Qemu-devel] [PATCH 01/11] block: Remove semicolon in BDRV_SECTOR_MASK macro Kevin Wolf
@ 2010-05-07 15:13 ` Kevin Wolf
2010-05-07 15:13 ` [Qemu-devel] [PATCH 03/11] cloop: use pread Kevin Wolf
` (8 subsequent siblings)
10 siblings, 0 replies; 40+ messages in thread
From: Kevin Wolf @ 2010-05-07 15:13 UTC (permalink / raw)
To: aliguori; +Cc: kwolf, qemu-devel
From: Ryota Ozaki <ozaki.ryota@gmail.com>
- use err(3) instead of errx(3) if errno is available
to report why failed
- let fail prior to daemon(3) if opening a nbd file
is likely to fail after daemonizing to avoid silent
failure exit
- add missing 'ret = 1' when unix_socket_outgoing failed
Signed-off-by: Ryota Ozaki <ozaki.ryota@gmail.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
qemu-nbd.c | 34 ++++++++++++++++++++++++----------
1 files changed, 24 insertions(+), 10 deletions(-)
diff --git a/qemu-nbd.c b/qemu-nbd.c
index 25aa913..4e607cf 100644
--- a/qemu-nbd.c
+++ b/qemu-nbd.c
@@ -112,9 +112,12 @@ static int find_partition(BlockDriverState *bs, int partition,
uint8_t data[512];
int i;
int ext_partnum = 4;
+ int ret;
- if (bdrv_read(bs, 0, data, 1))
- errx(EXIT_FAILURE, "error while reading");
+ if ((ret = bdrv_read(bs, 0, data, 1)) < 0) {
+ errno = -ret;
+ err(EXIT_FAILURE, "error while reading");
+ }
if (data[510] != 0x55 || data[511] != 0xaa) {
errno = -EINVAL;
@@ -132,8 +135,10 @@ static int find_partition(BlockDriverState *bs, int partition,
uint8_t data1[512];
int j;
- if (bdrv_read(bs, mbr[i].start_sector_abs, data1, 1))
- errx(EXIT_FAILURE, "error while reading");
+ if ((ret = bdrv_read(bs, mbr[i].start_sector_abs, data1, 1)) < 0) {
+ errno = -ret;
+ err(EXIT_FAILURE, "error while reading");
+ }
for (j = 0; j < 4; j++) {
read_partition(&data1[446 + 16 * j], &ext[j]);
@@ -316,7 +321,7 @@ int main(int argc, char **argv)
if (disconnect) {
fd = open(argv[optind], O_RDWR);
if (fd == -1)
- errx(EXIT_FAILURE, "Cannot open %s", argv[optind]);
+ err(EXIT_FAILURE, "Cannot open %s", argv[optind]);
nbd_disconnect(fd);
@@ -333,23 +338,30 @@ int main(int argc, char **argv)
if (bs == NULL)
return 1;
- if (bdrv_open(bs, argv[optind], flags, NULL) < 0)
- return 1;
+ if ((ret = bdrv_open(bs, argv[optind], flags, NULL)) < 0) {
+ errno = -ret;
+ err(EXIT_FAILURE, "Failed to bdrv_open '%s'", argv[optind]);
+ }
fd_size = bs->total_sectors * 512;
if (partition != -1 &&
find_partition(bs, partition, &dev_offset, &fd_size))
- errx(EXIT_FAILURE, "Could not find partition %d", partition);
+ err(EXIT_FAILURE, "Could not find partition %d", partition);
if (device) {
pid_t pid;
int sock;
+ /* want to fail before daemonizing */
+ if (access(device, R_OK|W_OK) == -1) {
+ err(EXIT_FAILURE, "Could not access '%s'", device);
+ }
+
if (!verbose) {
/* detach client and server */
if (daemon(0, 0) == -1) {
- errx(EXIT_FAILURE, "Failed to daemonize");
+ err(EXIT_FAILURE, "Failed to daemonize");
}
}
@@ -372,8 +384,10 @@ int main(int argc, char **argv)
do {
sock = unix_socket_outgoing(socket);
if (sock == -1) {
- if (errno != ENOENT && errno != ECONNREFUSED)
+ if (errno != ENOENT && errno != ECONNREFUSED) {
+ ret = 1;
goto out;
+ }
sleep(1); /* wait children */
}
} while (sock == -1);
--
1.6.6.1
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [Qemu-devel] [PATCH 03/11] cloop: use pread
2010-05-07 15:13 [Qemu-devel] [PULL 00/11] Block patches Kevin Wolf
2010-05-07 15:13 ` [Qemu-devel] [PATCH 01/11] block: Remove semicolon in BDRV_SECTOR_MASK macro Kevin Wolf
2010-05-07 15:13 ` [Qemu-devel] [PATCH 02/11] qemu-nbd: Improve error reporting Kevin Wolf
@ 2010-05-07 15:13 ` Kevin Wolf
2010-05-07 15:14 ` [Qemu-devel] [PATCH 04/11] cloop: use qemu block API Kevin Wolf
` (7 subsequent siblings)
10 siblings, 0 replies; 40+ messages in thread
From: Kevin Wolf @ 2010-05-07 15:13 UTC (permalink / raw)
To: aliguori; +Cc: kwolf, qemu-devel
From: Christoph Hellwig <hch@lst.de>
Use pread instead of lseek + read in preparation of using the qemu
block API.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
block/cloop.c | 32 +++++++++++++++++---------------
1 files changed, 17 insertions(+), 15 deletions(-)
diff --git a/block/cloop.c b/block/cloop.c
index e4f995b..9fe2a42 100644
--- a/block/cloop.c
+++ b/block/cloop.c
@@ -62,23 +62,22 @@ static int cloop_open(BlockDriverState *bs, const char *filename, int flags)
bs->read_only = 1;
/* read header */
- if(lseek(s->fd,128,SEEK_SET)<0) {
-cloop_close:
- close(s->fd);
- return -1;
+ if (pread(s->fd, &s->block_size, 4, 128) < 4) {
+ goto cloop_close;
}
- if(read(s->fd,&s->block_size,4)<4)
- goto cloop_close;
- s->block_size=be32_to_cpu(s->block_size);
- if(read(s->fd,&s->n_blocks,4)<4)
- goto cloop_close;
- s->n_blocks=be32_to_cpu(s->n_blocks);
+ s->block_size = be32_to_cpu(s->block_size);
+
+ if (pread(s->fd, &s->n_blocks, 4, 128 + 4) < 4) {
+ goto cloop_close;
+ }
+ s->n_blocks = be32_to_cpu(s->n_blocks);
/* read offsets */
- offsets_size=s->n_blocks*sizeof(uint64_t);
- s->offsets=(uint64_t*)qemu_malloc(offsets_size);
- if(read(s->fd,s->offsets,offsets_size)<offsets_size)
+ offsets_size = s->n_blocks * sizeof(uint64_t);
+ s->offsets = qemu_malloc(offsets_size);
+ if (pread(s->fd, s->offsets, offsets_size, 128 + 4 + 4) < offsets_size) {
goto cloop_close;
+ }
for(i=0;i<s->n_blocks;i++) {
s->offsets[i]=be64_to_cpu(s->offsets[i]);
if(i>0) {
@@ -98,6 +97,10 @@ cloop_close:
s->sectors_per_block = s->block_size/512;
bs->total_sectors = s->n_blocks*s->sectors_per_block;
return 0;
+
+cloop_close:
+ close(s->fd);
+ return -1;
}
static inline int cloop_read_block(BDRVCloopState *s,int block_num)
@@ -106,8 +109,7 @@ static inline int cloop_read_block(BDRVCloopState *s,int block_num)
int ret;
uint32_t bytes = s->offsets[block_num+1]-s->offsets[block_num];
- lseek(s->fd, s->offsets[block_num], SEEK_SET);
- ret = read(s->fd, s->compressed_block, bytes);
+ ret = pread(s->fd, s->compressed_block, bytes, s->offsets[block_num]);
if (ret != bytes)
return -1;
--
1.6.6.1
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [Qemu-devel] [PATCH 04/11] cloop: use qemu block API
2010-05-07 15:13 [Qemu-devel] [PULL 00/11] Block patches Kevin Wolf
` (2 preceding siblings ...)
2010-05-07 15:13 ` [Qemu-devel] [PATCH 03/11] cloop: use pread Kevin Wolf
@ 2010-05-07 15:14 ` Kevin Wolf
2010-05-07 15:14 ` [Qemu-devel] [PATCH 05/11] ide: Fix ide_dma_cancel Kevin Wolf
` (6 subsequent siblings)
10 siblings, 0 replies; 40+ messages in thread
From: Kevin Wolf @ 2010-05-07 15:14 UTC (permalink / raw)
To: aliguori; +Cc: kwolf, qemu-devel
From: Christoph Hellwig <hch@lst.de>
Use bdrv_pwrite to access the backing device instead of pread, and
convert the driver to implementing the bdrv_open method which gives
it an already opened BlockDriverState for the underlying device.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
block/cloop.c | 26 ++++++++++++--------------
1 files changed, 12 insertions(+), 14 deletions(-)
diff --git a/block/cloop.c b/block/cloop.c
index 9fe2a42..fe015c4 100644
--- a/block/cloop.c
+++ b/block/cloop.c
@@ -27,7 +27,6 @@
#include <zlib.h>
typedef struct BDRVCloopState {
- int fd;
uint32_t block_size;
uint32_t n_blocks;
uint64_t* offsets;
@@ -51,23 +50,20 @@ static int cloop_probe(const uint8_t *buf, int buf_size, const char *filename)
return 0;
}
-static int cloop_open(BlockDriverState *bs, const char *filename, int flags)
+static int cloop_open(BlockDriverState *bs, int flags)
{
BDRVCloopState *s = bs->opaque;
uint32_t offsets_size,max_compressed_block_size=1,i;
- s->fd = open(filename, O_RDONLY | O_BINARY);
- if (s->fd < 0)
- return -errno;
bs->read_only = 1;
/* read header */
- if (pread(s->fd, &s->block_size, 4, 128) < 4) {
+ if (bdrv_pread(bs->file, 128, &s->block_size, 4) < 4) {
goto cloop_close;
}
s->block_size = be32_to_cpu(s->block_size);
- if (pread(s->fd, &s->n_blocks, 4, 128 + 4) < 4) {
+ if (bdrv_pread(bs->file, 128 + 4, &s->n_blocks, 4) < 4) {
goto cloop_close;
}
s->n_blocks = be32_to_cpu(s->n_blocks);
@@ -75,7 +71,8 @@ static int cloop_open(BlockDriverState *bs, const char *filename, int flags)
/* read offsets */
offsets_size = s->n_blocks * sizeof(uint64_t);
s->offsets = qemu_malloc(offsets_size);
- if (pread(s->fd, s->offsets, offsets_size, 128 + 4 + 4) < offsets_size) {
+ if (bdrv_pread(bs->file, 128 + 4 + 4, s->offsets, offsets_size) <
+ offsets_size) {
goto cloop_close;
}
for(i=0;i<s->n_blocks;i++) {
@@ -99,17 +96,19 @@ static int cloop_open(BlockDriverState *bs, const char *filename, int flags)
return 0;
cloop_close:
- close(s->fd);
return -1;
}
-static inline int cloop_read_block(BDRVCloopState *s,int block_num)
+static inline int cloop_read_block(BlockDriverState *bs, int block_num)
{
+ BDRVCloopState *s = bs->opaque;
+
if(s->current_block != block_num) {
int ret;
uint32_t bytes = s->offsets[block_num+1]-s->offsets[block_num];
- ret = pread(s->fd, s->compressed_block, bytes, s->offsets[block_num]);
+ ret = bdrv_pread(bs->file, s->offsets[block_num], s->compressed_block,
+ bytes);
if (ret != bytes)
return -1;
@@ -138,7 +137,7 @@ static int cloop_read(BlockDriverState *bs, int64_t sector_num,
for(i=0;i<nb_sectors;i++) {
uint32_t sector_offset_in_block=((sector_num+i)%s->sectors_per_block),
block_num=(sector_num+i)/s->sectors_per_block;
- if(cloop_read_block(s, block_num) != 0)
+ if(cloop_read_block(bs, block_num) != 0)
return -1;
memcpy(buf+i*512,s->uncompressed_block+sector_offset_in_block*512,512);
}
@@ -148,7 +147,6 @@ static int cloop_read(BlockDriverState *bs, int64_t sector_num,
static void cloop_close(BlockDriverState *bs)
{
BDRVCloopState *s = bs->opaque;
- close(s->fd);
if(s->n_blocks>0)
free(s->offsets);
free(s->compressed_block);
@@ -160,7 +158,7 @@ static BlockDriver bdrv_cloop = {
.format_name = "cloop",
.instance_size = sizeof(BDRVCloopState),
.bdrv_probe = cloop_probe,
- .bdrv_file_open = cloop_open,
+ .bdrv_open = cloop_open,
.bdrv_read = cloop_read,
.bdrv_close = cloop_close,
};
--
1.6.6.1
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [Qemu-devel] [PATCH 05/11] ide: Fix ide_dma_cancel
2010-05-07 15:13 [Qemu-devel] [PULL 00/11] Block patches Kevin Wolf
` (3 preceding siblings ...)
2010-05-07 15:14 ` [Qemu-devel] [PATCH 04/11] cloop: use qemu block API Kevin Wolf
@ 2010-05-07 15:14 ` Kevin Wolf
2010-05-07 15:14 ` [Qemu-devel] [PATCH 06/11] bochs: use pread Kevin Wolf
` (5 subsequent siblings)
10 siblings, 0 replies; 40+ messages in thread
From: Kevin Wolf @ 2010-05-07 15:14 UTC (permalink / raw)
To: aliguori; +Cc: kwolf, qemu-devel
When cancelling a request, bdrv_aio_cancel may decide that it waits for
completion of a request rather than for cancellation. IDE therefore can't
abandon its DMA status before calling bdrv_aio_cancel; otherwise the callback
of a completed request would use invalid data.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
hw/ide/core.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/hw/ide/core.c b/hw/ide/core.c
index 0757528..3cd55e3 100644
--- a/hw/ide/core.c
+++ b/hw/ide/core.c
@@ -2838,10 +2838,6 @@ static void ide_dma_restart(IDEState *s, int is_read)
void ide_dma_cancel(BMDMAState *bm)
{
if (bm->status & BM_STATUS_DMAING) {
- bm->status &= ~BM_STATUS_DMAING;
- /* cancel DMA request */
- bm->unit = -1;
- bm->dma_cb = NULL;
if (bm->aiocb) {
#ifdef DEBUG_AIO
printf("aio_cancel\n");
@@ -2849,6 +2845,10 @@ void ide_dma_cancel(BMDMAState *bm)
bdrv_aio_cancel(bm->aiocb);
bm->aiocb = NULL;
}
+ bm->status &= ~BM_STATUS_DMAING;
+ /* cancel DMA request */
+ bm->unit = -1;
+ bm->dma_cb = NULL;
}
}
--
1.6.6.1
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [Qemu-devel] [PATCH 06/11] bochs: use pread
2010-05-07 15:13 [Qemu-devel] [PULL 00/11] Block patches Kevin Wolf
` (4 preceding siblings ...)
2010-05-07 15:14 ` [Qemu-devel] [PATCH 05/11] ide: Fix ide_dma_cancel Kevin Wolf
@ 2010-05-07 15:14 ` Kevin Wolf
2010-05-07 15:14 ` [Qemu-devel] [PATCH 07/11] bochs: use qemu block API Kevin Wolf
` (4 subsequent siblings)
10 siblings, 0 replies; 40+ messages in thread
From: Kevin Wolf @ 2010-05-07 15:14 UTC (permalink / raw)
To: aliguori; +Cc: kwolf, qemu-devel
From: Christoph Hellwig <hch@lst.de>
Use pread instead of lseek + read in preparation of using the qemu
block API.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
block/bochs.c | 63 ++++++++++++++++++--------------------------------------
1 files changed, 20 insertions(+), 43 deletions(-)
diff --git a/block/bochs.c b/block/bochs.c
index e952670..b54f54d 100644
--- a/block/bochs.c
+++ b/block/bochs.c
@@ -125,7 +125,7 @@ static int bochs_open(BlockDriverState *bs, const char *filename, int flags)
s->fd = fd;
- if (read(fd, &bochs, sizeof(bochs)) != sizeof(bochs)) {
+ if (pread(fd, &bochs, sizeof(bochs), 0) != sizeof(bochs)) {
goto fail;
}
@@ -144,14 +144,10 @@ static int bochs_open(BlockDriverState *bs, const char *filename, int flags)
bs->total_sectors = le64_to_cpu(bochs.extra.redolog.disk) / 512;
}
- if (lseek(s->fd, le32_to_cpu(bochs.header), SEEK_SET) == (off_t)-1) {
- goto fail;
- }
-
s->catalog_size = le32_to_cpu(bochs.extra.redolog.catalog);
s->catalog_bitmap = qemu_malloc(s->catalog_size * 4);
- if (read(s->fd, s->catalog_bitmap, s->catalog_size * 4) !=
- s->catalog_size * 4)
+ if (pread(s->fd, s->catalog_bitmap, s->catalog_size * 4,
+ le32_to_cpu(bochs.header)) != s->catalog_size * 4)
goto fail;
for (i = 0; i < s->catalog_size; i++)
le32_to_cpus(&s->catalog_bitmap[i]);
@@ -169,54 +165,35 @@ static int bochs_open(BlockDriverState *bs, const char *filename, int flags)
return -1;
}
-static inline int seek_to_sector(BlockDriverState *bs, int64_t sector_num)
+static int64_t seek_to_sector(BlockDriverState *bs, int64_t sector_num)
{
BDRVBochsState *s = bs->opaque;
int64_t offset = sector_num * 512;
- int64_t extent_index, extent_offset, bitmap_offset, block_offset;
+ int64_t extent_index, extent_offset, bitmap_offset;
char bitmap_entry;
// seek to sector
extent_index = offset / s->extent_size;
extent_offset = (offset % s->extent_size) / 512;
- if (s->catalog_bitmap[extent_index] == 0xffffffff)
- {
-// fprintf(stderr, "page not allocated [%x - %x:%x]\n",
-// sector_num, extent_index, extent_offset);
- return -1; // not allocated
+ if (s->catalog_bitmap[extent_index] == 0xffffffff) {
+ return -1; /* not allocated */
}
bitmap_offset = s->data_offset + (512 * s->catalog_bitmap[extent_index] *
(s->extent_blocks + s->bitmap_blocks));
- block_offset = bitmap_offset + (512 * (s->bitmap_blocks + extent_offset));
-
-// fprintf(stderr, "sect: %x [ext i: %x o: %x] -> %x bitmap: %x block: %x\n",
-// sector_num, extent_index, extent_offset,
-// le32_to_cpu(s->catalog_bitmap[extent_index]),
-// bitmap_offset, block_offset);
-
- // read in bitmap for current extent
- if (lseek(s->fd, bitmap_offset + (extent_offset / 8), SEEK_SET) ==
- (off_t)-1) {
- return -1;
- }
- if (read(s->fd, &bitmap_entry, 1) != 1)
+ /* read in bitmap for current extent */
+ if (pread(s->fd, &bitmap_entry, 1, bitmap_offset + (extent_offset / 8))
+ != 1) {
return -1;
-
- if (!((bitmap_entry >> (extent_offset % 8)) & 1))
- {
-// fprintf(stderr, "sector (%x) in bitmap not allocated\n",
-// sector_num);
- return -1; // not allocated
}
- if (lseek(s->fd, block_offset, SEEK_SET) == (off_t)-1) {
- return -1;
+ if (!((bitmap_entry >> (extent_offset % 8)) & 1)) {
+ return -1; /* not allocated */
}
- return 0;
+ return bitmap_offset + (512 * (s->bitmap_blocks + extent_offset));
}
static int bochs_read(BlockDriverState *bs, int64_t sector_num,
@@ -226,13 +203,13 @@ static int bochs_read(BlockDriverState *bs, int64_t sector_num,
int ret;
while (nb_sectors > 0) {
- if (!seek_to_sector(bs, sector_num))
- {
- ret = read(s->fd, buf, 512);
- if (ret != 512)
- return -1;
- }
- else
+ int64_t block_offset = seek_to_sector(bs, sector_num);
+ if (block_offset >= 0) {
+ ret = pread(s->fd, buf, 512, block_offset);
+ if (ret != 512) {
+ return -1;
+ }
+ } else
memset(buf, 0, 512);
nb_sectors--;
sector_num++;
--
1.6.6.1
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [Qemu-devel] [PATCH 07/11] bochs: use qemu block API
2010-05-07 15:13 [Qemu-devel] [PULL 00/11] Block patches Kevin Wolf
` (5 preceding siblings ...)
2010-05-07 15:14 ` [Qemu-devel] [PATCH 06/11] bochs: use pread Kevin Wolf
@ 2010-05-07 15:14 ` Kevin Wolf
2010-05-07 15:14 ` [Qemu-devel] [PATCH 08/11] block: Avoid unchecked casts for AIOCBs Kevin Wolf
` (3 subsequent siblings)
10 siblings, 0 replies; 40+ messages in thread
From: Kevin Wolf @ 2010-05-07 15:14 UTC (permalink / raw)
To: aliguori; +Cc: kwolf, qemu-devel
From: Christoph Hellwig <hch@lst.de>
Use bdrv_pwrite to access the backing device instead of pread, and
convert the driver to implementing the bdrv_open method which gives
it an already opened BlockDriverState for the underlying device.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
block/bochs.c | 30 +++++++++---------------------
1 files changed, 9 insertions(+), 21 deletions(-)
diff --git a/block/bochs.c b/block/bochs.c
index b54f54d..5fe2fa3 100644
--- a/block/bochs.c
+++ b/block/bochs.c
@@ -80,8 +80,6 @@ struct bochs_header {
};
typedef struct BDRVBochsState {
- int fd;
-
uint32_t *catalog_bitmap;
int catalog_size;
@@ -109,23 +107,16 @@ static int bochs_probe(const uint8_t *buf, int buf_size, const char *filename)
return 0;
}
-static int bochs_open(BlockDriverState *bs, const char *filename, int flags)
+static int bochs_open(BlockDriverState *bs, int flags)
{
BDRVBochsState *s = bs->opaque;
- int fd, i;
+ int i;
struct bochs_header bochs;
struct bochs_header_v1 header_v1;
- fd = open(filename, O_RDONLY | O_BINARY);
- if (fd < 0) {
- return -1;
- }
-
bs->read_only = 1; // no write support yet
- s->fd = fd;
-
- if (pread(fd, &bochs, sizeof(bochs), 0) != sizeof(bochs)) {
+ if (bdrv_pread(bs->file, 0, &bochs, sizeof(bochs)) != sizeof(bochs)) {
goto fail;
}
@@ -146,8 +137,8 @@ static int bochs_open(BlockDriverState *bs, const char *filename, int flags)
s->catalog_size = le32_to_cpu(bochs.extra.redolog.catalog);
s->catalog_bitmap = qemu_malloc(s->catalog_size * 4);
- if (pread(s->fd, s->catalog_bitmap, s->catalog_size * 4,
- le32_to_cpu(bochs.header)) != s->catalog_size * 4)
+ if (bdrv_pread(bs->file, le32_to_cpu(bochs.header), s->catalog_bitmap,
+ s->catalog_size * 4) != s->catalog_size * 4)
goto fail;
for (i = 0; i < s->catalog_size; i++)
le32_to_cpus(&s->catalog_bitmap[i]);
@@ -161,7 +152,6 @@ static int bochs_open(BlockDriverState *bs, const char *filename, int flags)
return 0;
fail:
- close(fd);
return -1;
}
@@ -184,8 +174,8 @@ static int64_t seek_to_sector(BlockDriverState *bs, int64_t sector_num)
(s->extent_blocks + s->bitmap_blocks));
/* read in bitmap for current extent */
- if (pread(s->fd, &bitmap_entry, 1, bitmap_offset + (extent_offset / 8))
- != 1) {
+ if (bdrv_pread(bs->file, bitmap_offset + (extent_offset / 8),
+ &bitmap_entry, 1) != 1) {
return -1;
}
@@ -199,13 +189,12 @@ static int64_t seek_to_sector(BlockDriverState *bs, int64_t sector_num)
static int bochs_read(BlockDriverState *bs, int64_t sector_num,
uint8_t *buf, int nb_sectors)
{
- BDRVBochsState *s = bs->opaque;
int ret;
while (nb_sectors > 0) {
int64_t block_offset = seek_to_sector(bs, sector_num);
if (block_offset >= 0) {
- ret = pread(s->fd, buf, 512, block_offset);
+ ret = bdrv_pread(bs->file, block_offset, buf, 512);
if (ret != 512) {
return -1;
}
@@ -222,14 +211,13 @@ static void bochs_close(BlockDriverState *bs)
{
BDRVBochsState *s = bs->opaque;
qemu_free(s->catalog_bitmap);
- close(s->fd);
}
static BlockDriver bdrv_bochs = {
.format_name = "bochs",
.instance_size = sizeof(BDRVBochsState),
.bdrv_probe = bochs_probe,
- .bdrv_file_open = bochs_open,
+ .bdrv_open = bochs_open,
.bdrv_read = bochs_read,
.bdrv_close = bochs_close,
};
--
1.6.6.1
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [Qemu-devel] [PATCH 08/11] block: Avoid unchecked casts for AIOCBs
2010-05-07 15:13 [Qemu-devel] [PULL 00/11] Block patches Kevin Wolf
` (6 preceding siblings ...)
2010-05-07 15:14 ` [Qemu-devel] [PATCH 07/11] bochs: use qemu block API Kevin Wolf
@ 2010-05-07 15:14 ` Kevin Wolf
2010-05-07 15:14 ` [Qemu-devel] [PATCH 09/11] block: Fix protocol detection for Windows devices Kevin Wolf
` (2 subsequent siblings)
10 siblings, 0 replies; 40+ messages in thread
From: Kevin Wolf @ 2010-05-07 15:14 UTC (permalink / raw)
To: aliguori; +Cc: kwolf, qemu-devel
Use container_of for one direction and &acb->common for the other one.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
block.c | 3 ++-
block/blkdebug.c | 4 ++--
block/qcow.c | 2 +-
block/qcow2.c | 2 +-
block/vdi.c | 2 +-
5 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/block.c b/block.c
index 48305b7..6345599 100644
--- a/block.c
+++ b/block.c
@@ -2108,7 +2108,8 @@ typedef struct BlockDriverAIOCBSync {
static void bdrv_aio_cancel_em(BlockDriverAIOCB *blockacb)
{
- BlockDriverAIOCBSync *acb = (BlockDriverAIOCBSync *)blockacb;
+ BlockDriverAIOCBSync *acb =
+ container_of(blockacb, BlockDriverAIOCBSync, common);
qemu_bh_delete(acb->bh);
acb->bh = NULL;
qemu_aio_release(acb);
diff --git a/block/blkdebug.c b/block/blkdebug.c
index bb4a91a..8325f75 100644
--- a/block/blkdebug.c
+++ b/block/blkdebug.c
@@ -320,7 +320,7 @@ static void error_callback_bh(void *opaque)
static void blkdebug_aio_cancel(BlockDriverAIOCB *blockacb)
{
- BlkdebugAIOCB *acb = (BlkdebugAIOCB*) blockacb;
+ BlkdebugAIOCB *acb = container_of(blockacb, BlkdebugAIOCB, common);
qemu_aio_release(acb);
}
@@ -347,7 +347,7 @@ static BlockDriverAIOCB *inject_error(BlockDriverState *bs,
acb->bh = bh;
qemu_bh_schedule(bh);
- return (BlockDriverAIOCB*) acb;
+ return &acb->common;
}
static BlockDriverAIOCB *blkdebug_aio_readv(BlockDriverState *bs,
diff --git a/block/qcow.c b/block/qcow.c
index 2883c40..449858f 100644
--- a/block/qcow.c
+++ b/block/qcow.c
@@ -502,7 +502,7 @@ typedef struct QCowAIOCB {
static void qcow_aio_cancel(BlockDriverAIOCB *blockacb)
{
- QCowAIOCB *acb = (QCowAIOCB *)blockacb;
+ QCowAIOCB *acb = container_of(blockacb, QCowAIOCB, common);
if (acb->hd_aiocb)
bdrv_aio_cancel(acb->hd_aiocb);
qemu_aio_release(acb);
diff --git a/block/qcow2.c b/block/qcow2.c
index 21ed6f8..40bd32a 100644
--- a/block/qcow2.c
+++ b/block/qcow2.c
@@ -340,7 +340,7 @@ typedef struct QCowAIOCB {
static void qcow_aio_cancel(BlockDriverAIOCB *blockacb)
{
- QCowAIOCB *acb = (QCowAIOCB *)blockacb;
+ QCowAIOCB *acb = container_of(blockacb, QCowAIOCB, common);
if (acb->hd_aiocb)
bdrv_aio_cancel(acb->hd_aiocb);
qemu_aio_release(acb);
diff --git a/block/vdi.c b/block/vdi.c
index 1d257b4..2b4d2c2 100644
--- a/block/vdi.c
+++ b/block/vdi.c
@@ -469,7 +469,7 @@ static int vdi_is_allocated(BlockDriverState *bs, int64_t sector_num,
static void vdi_aio_cancel(BlockDriverAIOCB *blockacb)
{
/* TODO: This code is untested. How can I get it executed? */
- VdiAIOCB *acb = (VdiAIOCB *)blockacb;
+ VdiAIOCB *acb = container_of(blockacb, VdiAIOCB, common);
logout("\n");
if (acb->hd_aiocb) {
bdrv_aio_cancel(acb->hd_aiocb);
--
1.6.6.1
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [Qemu-devel] [PATCH 09/11] block: Fix protocol detection for Windows devices
2010-05-07 15:13 [Qemu-devel] [PULL 00/11] Block patches Kevin Wolf
` (7 preceding siblings ...)
2010-05-07 15:14 ` [Qemu-devel] [PATCH 08/11] block: Avoid unchecked casts for AIOCBs Kevin Wolf
@ 2010-05-07 15:14 ` Kevin Wolf
2010-05-07 15:14 ` [Qemu-devel] [PATCH 10/11] block: Fix bdrv_commit Kevin Wolf
2010-05-07 15:14 ` [Qemu-devel] [PATCH 11/11] block/vdi: Allow disk images of size 0 Kevin Wolf
10 siblings, 0 replies; 40+ messages in thread
From: Kevin Wolf @ 2010-05-07 15:14 UTC (permalink / raw)
To: aliguori; +Cc: kwolf, qemu-devel
We can't assume the file protocol for Windows devices, they need the same
detection as other files for which an explicit protocol is not specified.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
block.c | 10 ++++++----
1 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/block.c b/block.c
index 6345599..977d01f 100644
--- a/block.c
+++ b/block.c
@@ -287,16 +287,18 @@ static BlockDriver *find_protocol(const char *filename)
char protocol[128];
int len;
const char *p;
+ int is_drive;
/* TODO Drivers without bdrv_file_open must be specified explicitly */
#ifdef _WIN32
- if (is_windows_drive(filename) ||
- is_windows_drive_prefix(filename))
- return bdrv_find_format("file");
+ is_drive = is_windows_drive(filename) ||
+ is_windows_drive_prefix(filename);
+#else
+ is_drive = 0;
#endif
p = strchr(filename, ':');
- if (!p) {
+ if (!p || is_drive) {
drv1 = find_hdev_driver(filename);
if (!drv1) {
drv1 = bdrv_find_format("file");
--
1.6.6.1
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [Qemu-devel] [PATCH 10/11] block: Fix bdrv_commit
2010-05-07 15:13 [Qemu-devel] [PULL 00/11] Block patches Kevin Wolf
` (8 preceding siblings ...)
2010-05-07 15:14 ` [Qemu-devel] [PATCH 09/11] block: Fix protocol detection for Windows devices Kevin Wolf
@ 2010-05-07 15:14 ` Kevin Wolf
2010-05-07 15:14 ` [Qemu-devel] [PATCH 11/11] block/vdi: Allow disk images of size 0 Kevin Wolf
10 siblings, 0 replies; 40+ messages in thread
From: Kevin Wolf @ 2010-05-07 15:14 UTC (permalink / raw)
To: aliguori; +Cc: kwolf, qemu-devel
When reopening the image, don't guess the driver, but use the same driver as
was used before. This is important if the format=... option was used for that
image.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
block.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/block.c b/block.c
index 977d01f..c134c2b 100644
--- a/block.c
+++ b/block.c
@@ -701,12 +701,12 @@ int bdrv_commit(BlockDriverState *bs)
bdrv_delete(bs->backing_hd);
bs->backing_hd = NULL;
bs_rw = bdrv_new("");
- rw_ret = bdrv_open(bs_rw, filename, open_flags | BDRV_O_RDWR, NULL);
+ rw_ret = bdrv_open(bs_rw, filename, open_flags | BDRV_O_RDWR, drv);
if (rw_ret < 0) {
bdrv_delete(bs_rw);
/* try to re-open read-only */
bs_ro = bdrv_new("");
- ret = bdrv_open(bs_ro, filename, open_flags & ~BDRV_O_RDWR, NULL);
+ ret = bdrv_open(bs_ro, filename, open_flags & ~BDRV_O_RDWR, drv);
if (ret < 0) {
bdrv_delete(bs_ro);
/* drive not functional anymore */
@@ -758,7 +758,7 @@ ro_cleanup:
bdrv_delete(bs->backing_hd);
bs->backing_hd = NULL;
bs_ro = bdrv_new("");
- ret = bdrv_open(bs_ro, filename, open_flags & ~BDRV_O_RDWR, NULL);
+ ret = bdrv_open(bs_ro, filename, open_flags & ~BDRV_O_RDWR, drv);
if (ret < 0) {
bdrv_delete(bs_ro);
/* drive not functional anymore */
--
1.6.6.1
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [Qemu-devel] [PATCH 11/11] block/vdi: Allow disk images of size 0
2010-05-07 15:13 [Qemu-devel] [PULL 00/11] Block patches Kevin Wolf
` (9 preceding siblings ...)
2010-05-07 15:14 ` [Qemu-devel] [PATCH 10/11] block: Fix bdrv_commit Kevin Wolf
@ 2010-05-07 15:14 ` Kevin Wolf
10 siblings, 0 replies; 40+ messages in thread
From: Kevin Wolf @ 2010-05-07 15:14 UTC (permalink / raw)
To: aliguori; +Cc: kwolf, qemu-devel
From: Stefan Weil <weil@mail.berlios.de>
Even it is not very useful, users may create images of size 0.
Without the special option CONFIG_ZERO_MALLOC, qemu_mallocz
aborts execution when it is told to allocate 0 bytes,
so avoid this kind of call.
Cc: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
block/vdi.c | 9 +++++++--
1 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/block/vdi.c b/block/vdi.c
index 2b4d2c2..3ea4103 100644
--- a/block/vdi.c
+++ b/block/vdi.c
@@ -435,7 +435,9 @@ static int vdi_open(BlockDriverState *bs, int flags)
bmap_size = header.blocks_in_image * sizeof(uint32_t);
bmap_size = (bmap_size + SECTOR_SIZE - 1) / SECTOR_SIZE;
- s->bmap = qemu_malloc(bmap_size * SECTOR_SIZE);
+ if (bmap_size > 0) {
+ s->bmap = qemu_malloc(bmap_size * SECTOR_SIZE);
+ }
if (bdrv_read(bs->file, s->bmap_sector, (uint8_t *)s->bmap, bmap_size) < 0) {
goto fail_free_bmap;
}
@@ -857,7 +859,10 @@ static int vdi_create(const char *filename, QEMUOptionParameter *options)
result = -errno;
}
- bmap = (uint32_t *)qemu_mallocz(bmap_size);
+ bmap = NULL;
+ if (bmap_size > 0) {
+ bmap = (uint32_t *)qemu_mallocz(bmap_size);
+ }
for (i = 0; i < blocks; i++) {
if (image_type == VDI_TYPE_STATIC) {
bmap[i] = i;
--
1.6.6.1
^ permalink raw reply related [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
* 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-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
* [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
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-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-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
@ 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
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
@ 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
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-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-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
@ 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
* [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
* 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-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
* [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
* 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
* Re: [Qemu-devel] [PULL 00/11] Block patches
2012-09-14 12:39 Kevin Wolf
2012-09-17 18:19 ` Anthony Liguori
@ 2012-09-18 17:49 ` Michael Tokarev
2012-09-19 8:42 ` Kevin Wolf
1 sibling, 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-14 12:39 Kevin Wolf
@ 2012-09-17 18:19 ` Anthony Liguori
2012-09-18 17:49 ` Michael Tokarev
1 sibling, 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
* [Qemu-devel] [PULL 00/11] Block patches
@ 2012-09-14 12:39 Kevin Wolf
2012-09-17 18:19 ` Anthony Liguori
2012-09-18 17:49 ` Michael Tokarev
0 siblings, 2 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
* 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
@ 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
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
@ 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
* [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
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 --
2010-05-07 15:13 [Qemu-devel] [PULL 00/11] Block patches Kevin Wolf
2010-05-07 15:13 ` [Qemu-devel] [PATCH 01/11] block: Remove semicolon in BDRV_SECTOR_MASK macro Kevin Wolf
2010-05-07 15:13 ` [Qemu-devel] [PATCH 02/11] qemu-nbd: Improve error reporting Kevin Wolf
2010-05-07 15:13 ` [Qemu-devel] [PATCH 03/11] cloop: use pread Kevin Wolf
2010-05-07 15:14 ` [Qemu-devel] [PATCH 04/11] cloop: use qemu block API Kevin Wolf
2010-05-07 15:14 ` [Qemu-devel] [PATCH 05/11] ide: Fix ide_dma_cancel Kevin Wolf
2010-05-07 15:14 ` [Qemu-devel] [PATCH 06/11] bochs: use pread Kevin Wolf
2010-05-07 15:14 ` [Qemu-devel] [PATCH 07/11] bochs: use qemu block API Kevin Wolf
2010-05-07 15:14 ` [Qemu-devel] [PATCH 08/11] block: Avoid unchecked casts for AIOCBs Kevin Wolf
2010-05-07 15:14 ` [Qemu-devel] [PATCH 09/11] block: Fix protocol detection for Windows devices Kevin Wolf
2010-05-07 15:14 ` [Qemu-devel] [PATCH 10/11] block: Fix bdrv_commit Kevin Wolf
2010-05-07 15:14 ` [Qemu-devel] [PATCH 11/11] block/vdi: Allow disk images of size 0 Kevin Wolf
2010-10-22 13:43 [Qemu-devel] [PULL 00/11] Block patches Kevin Wolf
2011-04-27 13:42 Kevin Wolf
2011-04-27 14:26 ` Aurelien Jarno
2012-08-10 16:47 Kevin Wolf
2012-08-12 18:14 ` Anthony Liguori
2012-09-14 12:39 Kevin Wolf
2012-09-17 18:19 ` Anthony Liguori
2012-09-18 17:49 ` Michael Tokarev
2012-09-19 8:42 ` Kevin Wolf
2013-04-15 8:22 Stefan Hajnoczi
2013-04-26 11:44 Stefan Hajnoczi
2013-05-24 14:32 Stefan Hajnoczi
2013-06-17 21:18 ` Anthony Liguori
2013-09-20 17:42 Stefan Hajnoczi
2014-02-14 17:29 Stefan Hajnoczi
2014-02-15 16:37 ` Peter Maydell
2014-09-26 18:58 Kevin Wolf
2014-09-29 13:03 ` Peter Maydell
2017-01-16 13:39 Stefan Hajnoczi
2017-01-17 13:53 ` Peter Maydell
2018-06-04 11:20 Stefan Hajnoczi
2018-06-05 9:38 ` Peter Maydell
2018-08-31 14:24 Max Reitz
2018-08-31 14:27 ` Max Reitz
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
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.