All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PULL 0/8] Block patches
@ 2011-07-06 14:21 Kevin Wolf
  2011-07-06 14:21 ` [Qemu-devel] [PATCH 1/8] Documentation: Remove outdated host_device note Kevin Wolf
                   ` (9 more replies)
  0 siblings, 10 replies; 31+ messages in thread
From: Kevin Wolf @ 2011-07-06 14:21 UTC (permalink / raw)
  To: anthony; +Cc: kwolf, qemu-devel

The following changes since commit 9312805d33e8b106bae356d13a8071fb37d75554:

  pxa2xx_lcd: add proper rotation support (2011-07-04 22:12:21 +0200)

are available in the git repository at:
  git://repo.or.cz/qemu/kevin.git for-anthony

Federico Simoncelli (1):
      qemu-img: Add cache command line option

Johannes Stezenbach (1):
      block/raw-posix: Linux compat-ioctl warning workaround

Kevin Wolf (3):
      Documentation: Remove outdated host_device note
      ide: Ignore reads during PIO in and writes during PIO out
      ide: Initialise buffers with zeros

Luiz Capitulino (2):
      block: drive_init(): Simplify interface type setting
      block: drive_init(): Improve CHS setting error message

Markus Armbruster (1):
      virtio-blk: Turn drive serial into a qdev property

 block/raw-posix.c    |   14 +++++++++
 blockdev.c           |   14 +++-----
 hw/ide/core.c        |   50 +++++++++++++++++++++++++-----
 hw/s390-virtio-bus.c |    4 ++-
 hw/s390-virtio-bus.h |    1 +
 hw/virtio-blk.c      |   29 ++++++++++++------
 hw/virtio-blk.h      |    2 +
 hw/virtio-pci.c      |    4 ++-
 hw/virtio-pci.h      |    1 +
 hw/virtio.h          |    3 +-
 qemu-img-cmds.hx     |    6 ++--
 qemu-img.c           |   80 +++++++++++++++++++++++++++++++++++++++++--------
 qemu-img.texi        |    6 ----
 13 files changed, 161 insertions(+), 53 deletions(-)

^ permalink raw reply	[flat|nested] 31+ messages in thread

* [Qemu-devel] [PATCH 1/8] Documentation: Remove outdated host_device note
  2011-07-06 14:21 [Qemu-devel] [PULL 0/8] Block patches Kevin Wolf
@ 2011-07-06 14:21 ` Kevin Wolf
  2011-07-06 14:21 ` [Qemu-devel] [PATCH 2/8] qemu-img: Add cache command line option Kevin Wolf
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 31+ messages in thread
From: Kevin Wolf @ 2011-07-06 14:21 UTC (permalink / raw)
  To: anthony; +Cc: kwolf, qemu-devel

People shouldn't explicitly specify host_device any more. raw is doing the
Right Thing.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
 qemu-img.texi |    6 ------
 1 files changed, 0 insertions(+), 6 deletions(-)

diff --git a/qemu-img.texi b/qemu-img.texi
index ced64a4..526474c 100644
--- a/qemu-img.texi
+++ b/qemu-img.texi
@@ -173,12 +173,6 @@ Linux or NTFS on Windows), then only the written sectors will reserve
 space. Use @code{qemu-img info} to know the real size used by the
 image or @code{ls -ls} on Unix/Linux.
 
-@item host_device
-
-Host device format. This format should be used instead of raw when
-converting to block devices or other devices where "holes" are not
-supported.
-
 @item qcow2
 QEMU image format, the most versatile format. Use it to have smaller
 images (useful if your filesystem does not supports holes, for example
-- 
1.7.6

^ permalink raw reply related	[flat|nested] 31+ messages in thread

* [Qemu-devel] [PATCH 2/8] qemu-img: Add cache command line option
  2011-07-06 14:21 [Qemu-devel] [PULL 0/8] Block patches Kevin Wolf
  2011-07-06 14:21 ` [Qemu-devel] [PATCH 1/8] Documentation: Remove outdated host_device note Kevin Wolf
@ 2011-07-06 14:21 ` Kevin Wolf
  2011-07-06 14:21 ` [Qemu-devel] [PATCH 3/8] block/raw-posix: Linux compat-ioctl warning workaround Kevin Wolf
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 31+ messages in thread
From: Kevin Wolf @ 2011-07-06 14:21 UTC (permalink / raw)
  To: anthony; +Cc: kwolf, qemu-devel

From: Federico Simoncelli <fsimonce@redhat.com>

qemu-img currently writes disk images using writeback and filling
up the cache buffers which are then flushed by the kernel preventing
other processes from accessing the storage.
This is particularly bad in cluster environments where time-based
algorithms might be in place and accessing the storage within
certain timeouts is critical.
This patch adds the option to choose a cache method when writing
disk images.

Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
 qemu-img-cmds.hx |    6 ++--
 qemu-img.c       |   80 +++++++++++++++++++++++++++++++++++++++++++++---------
 2 files changed, 70 insertions(+), 16 deletions(-)

diff --git a/qemu-img-cmds.hx b/qemu-img-cmds.hx
index 3072d38..2b70618 100644
--- a/qemu-img-cmds.hx
+++ b/qemu-img-cmds.hx
@@ -22,13 +22,13 @@ STEXI
 ETEXI
 
 DEF("commit", img_commit,
-    "commit [-f fmt] filename")
+    "commit [-f fmt] [-t cache] filename")
 STEXI
 @item commit [-f @var{fmt}] @var{filename}
 ETEXI
 
 DEF("convert", img_convert,
-    "convert [-c] [-p] [-f fmt] [-O output_fmt] [-o options] [-s snapshot_name] filename [filename2 [...]] output_filename")
+    "convert [-c] [-p] [-f fmt] [-t cache] [-O output_fmt] [-o options] [-s snapshot_name] filename [filename2 [...]] output_filename")
 STEXI
 @item convert [-c] [-f @var{fmt}] [-O @var{output_fmt}] [-o @var{options}] [-s @var{snapshot_name}] @var{filename} [@var{filename2} [...]] @var{output_filename}
 ETEXI
@@ -46,7 +46,7 @@ STEXI
 ETEXI
 
 DEF("rebase", img_rebase,
-    "rebase [-f fmt] [-p] [-u] -b backing_file [-F backing_fmt] filename")
+    "rebase [-f fmt] [-t cache] [-p] [-u] -b backing_file [-F backing_fmt] filename")
 STEXI
 @item rebase [-f @var{fmt}] [-u] -b @var{backing_file} [-F @var{backing_fmt}] @var{filename}
 ETEXI
diff --git a/qemu-img.c b/qemu-img.c
index 32628b3..54137a4 100644
--- a/qemu-img.c
+++ b/qemu-img.c
@@ -40,6 +40,7 @@ typedef struct img_cmd_t {
 
 /* Default to cache=writeback as data integrity is not important for qemu-tcg. */
 #define BDRV_O_FLAGS BDRV_O_CACHE_WB
+#define BDRV_DEFAULT_CACHE "writeback"
 
 static void format_print(void *opaque, const char *name)
 {
@@ -64,6 +65,8 @@ static void help(void)
            "Command parameters:\n"
            "  'filename' is a disk image filename\n"
            "  'fmt' is the disk image format. It is guessed automatically in most cases\n"
+           "  'cache' is the cache mode used to write the output disk image, the valid\n"
+           "    options are: 'none', 'writeback' (default), 'writethrough' and 'unsafe'\n"
            "  'size' is the disk image size in bytes. Optional suffixes\n"
            "    'k' or 'K' (kilobyte, 1024), 'M' (megabyte, 1024k), 'G' (gigabyte, 1024M)\n"
            "    and T (terabyte, 1024G) are supported. 'b' is ignored.\n"
@@ -180,6 +183,27 @@ static int read_password(char *buf, int buf_size)
 }
 #endif
 
+static int set_cache_flag(const char *mode, int *flags)
+{
+    *flags &= ~BDRV_O_CACHE_MASK;
+
+    if (!strcmp(mode, "none") || !strcmp(mode, "off")) {
+        *flags |= BDRV_O_CACHE_WB;
+        *flags |= BDRV_O_NOCACHE;
+    } else if (!strcmp(mode, "writeback")) {
+        *flags |= BDRV_O_CACHE_WB;
+    } else if (!strcmp(mode, "unsafe")) {
+        *flags |= BDRV_O_CACHE_WB;
+        *flags |= BDRV_O_NO_FLUSH;
+    } else if (!strcmp(mode, "writethrough")) {
+        /* this is the default */
+    } else {
+        return -1;
+    }
+
+    return 0;
+}
+
 static int print_block_option_help(const char *filename, const char *fmt)
 {
     BlockDriver *drv, *proto_drv;
@@ -441,13 +465,14 @@ static int img_check(int argc, char **argv)
 
 static int img_commit(int argc, char **argv)
 {
-    int c, ret;
-    const char *filename, *fmt;
+    int c, ret, flags;
+    const char *filename, *fmt, *cache;
     BlockDriverState *bs;
 
     fmt = NULL;
+    cache = BDRV_DEFAULT_CACHE;
     for(;;) {
-        c = getopt(argc, argv, "f:h");
+        c = getopt(argc, argv, "f:ht:");
         if (c == -1) {
             break;
         }
@@ -459,6 +484,9 @@ static int img_commit(int argc, char **argv)
         case 'f':
             fmt = optarg;
             break;
+        case 't':
+            cache = optarg;
+            break;
         }
     }
     if (optind >= argc) {
@@ -466,7 +494,14 @@ static int img_commit(int argc, char **argv)
     }
     filename = argv[optind++];
 
-    bs = bdrv_new_open(filename, fmt, BDRV_O_FLAGS | BDRV_O_RDWR);
+    flags = BDRV_O_RDWR;
+    ret = set_cache_flag(cache, &flags);
+    if (ret < 0) {
+        error_report("Invalid cache option: %s", cache);
+        return -1;
+    }
+
+    bs = bdrv_new_open(filename, fmt, flags);
     if (!bs) {
         return 1;
     }
@@ -591,8 +626,8 @@ static int compare_sectors(const uint8_t *buf1, const uint8_t *buf2, int n,
 static int img_convert(int argc, char **argv)
 {
     int c, ret = 0, n, n1, bs_n, bs_i, compress, cluster_size, cluster_sectors;
-    int progress = 0;
-    const char *fmt, *out_fmt, *out_baseimg, *out_filename;
+    int progress = 0, flags;
+    const char *fmt, *out_fmt, *cache, *out_baseimg, *out_filename;
     BlockDriver *drv, *proto_drv;
     BlockDriverState **bs = NULL, *out_bs = NULL;
     int64_t total_sectors, nb_sectors, sector_num, bs_offset;
@@ -608,10 +643,11 @@ static int img_convert(int argc, char **argv)
 
     fmt = NULL;
     out_fmt = "raw";
+    cache = "unsafe";
     out_baseimg = NULL;
     compress = 0;
     for(;;) {
-        c = getopt(argc, argv, "f:O:B:s:hce6o:p");
+        c = getopt(argc, argv, "f:O:B:s:hce6o:pt:");
         if (c == -1) {
             break;
         }
@@ -649,6 +685,9 @@ static int img_convert(int argc, char **argv)
         case 'p':
             progress = 1;
             break;
+        case 't':
+            cache = optarg;
+            break;
         }
     }
 
@@ -779,8 +818,14 @@ static int img_convert(int argc, char **argv)
         goto out;
     }
 
-    out_bs = bdrv_new_open(out_filename, out_fmt,
-        BDRV_O_FLAGS | BDRV_O_RDWR | BDRV_O_NO_FLUSH);
+    flags = BDRV_O_RDWR;
+    ret = set_cache_flag(cache, &flags);
+    if (ret < 0) {
+        error_report("Invalid cache option: %s", cache);
+        return -1;
+    }
+
+    out_bs = bdrv_new_open(out_filename, out_fmt, flags);
     if (!out_bs) {
         ret = -1;
         goto out;
@@ -1225,18 +1270,18 @@ static int img_rebase(int argc, char **argv)
     BlockDriverState *bs, *bs_old_backing = NULL, *bs_new_backing = NULL;
     BlockDriver *old_backing_drv, *new_backing_drv;
     char *filename;
-    const char *fmt, *out_basefmt, *out_baseimg;
+    const char *fmt, *cache, *out_basefmt, *out_baseimg;
     int c, flags, ret;
     int unsafe = 0;
     int progress = 0;
 
     /* Parse commandline parameters */
     fmt = NULL;
+    cache = BDRV_DEFAULT_CACHE;
     out_baseimg = NULL;
     out_basefmt = NULL;
-
     for(;;) {
-        c = getopt(argc, argv, "uhf:F:b:p");
+        c = getopt(argc, argv, "uhf:F:b:pt:");
         if (c == -1) {
             break;
         }
@@ -1260,6 +1305,9 @@ static int img_rebase(int argc, char **argv)
         case 'p':
             progress = 1;
             break;
+        case 't':
+            cache = optarg;
+            break;
         }
     }
 
@@ -1271,13 +1319,19 @@ static int img_rebase(int argc, char **argv)
     qemu_progress_init(progress, 2.0);
     qemu_progress_print(0, 100);
 
+    flags = BDRV_O_RDWR | (unsafe ? BDRV_O_NO_BACKING : 0);
+    ret = set_cache_flag(cache, &flags);
+    if (ret < 0) {
+        error_report("Invalid cache option: %s", cache);
+        return -1;
+    }
+
     /*
      * Open the images.
      *
      * Ignore the old backing file for unsafe rebase in case we want to correct
      * the reference to a renamed or moved backing file.
      */
-    flags = BDRV_O_FLAGS | BDRV_O_RDWR | (unsafe ? BDRV_O_NO_BACKING : 0);
     bs = bdrv_new_open(filename, fmt, flags);
     if (!bs) {
         return 1;
-- 
1.7.6

^ permalink raw reply related	[flat|nested] 31+ messages in thread

* [Qemu-devel] [PATCH 3/8] block/raw-posix: Linux compat-ioctl warning workaround
  2011-07-06 14:21 [Qemu-devel] [PULL 0/8] Block patches Kevin Wolf
  2011-07-06 14:21 ` [Qemu-devel] [PATCH 1/8] Documentation: Remove outdated host_device note Kevin Wolf
  2011-07-06 14:21 ` [Qemu-devel] [PATCH 2/8] qemu-img: Add cache command line option Kevin Wolf
@ 2011-07-06 14:21 ` Kevin Wolf
  2011-07-06 14:21 ` [Qemu-devel] [PATCH 4/8] virtio-blk: Turn drive serial into a qdev property Kevin Wolf
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 31+ messages in thread
From: Kevin Wolf @ 2011-07-06 14:21 UTC (permalink / raw)
  To: anthony; +Cc: kwolf, qemu-devel

From: Johannes Stezenbach <js@sig21.net>

On Linux x86_64 host with 32bit userspace, running
qemu or even just "qemu-img create -f qcow2 some.img 1G"
causes a kernel warning:

ioctl32(qemu-img:5296): Unknown cmd fd(3) cmd(00005326){t:'S';sz:0} arg(7fffffff) on some.img
ioctl32(qemu-img:5296): Unknown cmd fd(3) cmd(801c0204){t:02;sz:28} arg(fff77350) on some.img

ioctl 00005326 is CDROM_DRIVE_STATUS,
ioctl 801c0204 is FDGETPRM.

The warning appears because the Linux compat-ioctl handler for these
ioctls only applies to block devices, while qemu also uses the ioctls on
plain files.  Work around by calling fstat() the ensure the ioctls are
only used on block devices.

Signed-off-by: Johannes Stezenbach <js@sig21.net>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
 block/raw-posix.c |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/block/raw-posix.c b/block/raw-posix.c
index 4cd7d7a..34b64aa 100644
--- a/block/raw-posix.c
+++ b/block/raw-posix.c
@@ -46,6 +46,8 @@
 #include <sys/dkio.h>
 #endif
 #ifdef __linux__
+#include <sys/types.h>
+#include <sys/stat.h>
 #include <sys/ioctl.h>
 #include <sys/param.h>
 #include <linux/cdrom.h>
@@ -1188,6 +1190,7 @@ static int floppy_probe_device(const char *filename)
     int fd, ret;
     int prio = 0;
     struct floppy_struct fdparam;
+    struct stat st;
 
     if (strstart(filename, "/dev/fd", NULL))
         prio = 50;
@@ -1196,12 +1199,17 @@ static int floppy_probe_device(const char *filename)
     if (fd < 0) {
         goto out;
     }
+    ret = fstat(fd, &st);
+    if (ret == -1 || !S_ISBLK(st.st_mode)) {
+        goto outc;
+    }
 
     /* Attempt to detect via a floppy specific ioctl */
     ret = ioctl(fd, FDGETPRM, &fdparam);
     if (ret >= 0)
         prio = 100;
 
+outc:
     close(fd);
 out:
     return prio;
@@ -1290,17 +1298,23 @@ static int cdrom_probe_device(const char *filename)
 {
     int fd, ret;
     int prio = 0;
+    struct stat st;
 
     fd = open(filename, O_RDONLY | O_NONBLOCK);
     if (fd < 0) {
         goto out;
     }
+    ret = fstat(fd, &st);
+    if (ret == -1 || !S_ISBLK(st.st_mode)) {
+        goto outc;
+    }
 
     /* Attempt to detect via a CDROM specific ioctl */
     ret = ioctl(fd, CDROM_DRIVE_STATUS, CDSL_CURRENT);
     if (ret >= 0)
         prio = 100;
 
+outc:
     close(fd);
 out:
     return prio;
-- 
1.7.6

^ permalink raw reply related	[flat|nested] 31+ messages in thread

* [Qemu-devel] [PATCH 4/8] virtio-blk: Turn drive serial into a qdev property
  2011-07-06 14:21 [Qemu-devel] [PULL 0/8] Block patches Kevin Wolf
                   ` (2 preceding siblings ...)
  2011-07-06 14:21 ` [Qemu-devel] [PATCH 3/8] block/raw-posix: Linux compat-ioctl warning workaround Kevin Wolf
@ 2011-07-06 14:21 ` Kevin Wolf
  2011-07-06 14:21 ` [Qemu-devel] [PATCH 5/8] block: drive_init(): Simplify interface type setting Kevin Wolf
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 31+ messages in thread
From: Kevin Wolf @ 2011-07-06 14:21 UTC (permalink / raw)
  To: anthony; +Cc: kwolf, qemu-devel

From: Markus Armbruster <armbru@redhat.com>

It needs to be a qdev property, because it belongs to the drive's
guest part.  Precedence: commit a0fef654 and 6ced55a5.

Bonus: info qtree now shows the serial number.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
 hw/s390-virtio-bus.c |    4 +++-
 hw/s390-virtio-bus.h |    1 +
 hw/virtio-blk.c      |   29 +++++++++++++++++++----------
 hw/virtio-blk.h      |    2 ++
 hw/virtio-pci.c      |    4 +++-
 hw/virtio-pci.h      |    1 +
 hw/virtio.h          |    3 ++-
 7 files changed, 31 insertions(+), 13 deletions(-)

diff --git a/hw/s390-virtio-bus.c b/hw/s390-virtio-bus.c
index d4a12f7..2bf4821 100644
--- a/hw/s390-virtio-bus.c
+++ b/hw/s390-virtio-bus.c
@@ -128,7 +128,8 @@ static int s390_virtio_blk_init(VirtIOS390Device *dev)
 {
     VirtIODevice *vdev;
 
-    vdev = virtio_blk_init((DeviceState *)dev, &dev->block);
+    vdev = virtio_blk_init((DeviceState *)dev, &dev->block,
+                           &dev->block_serial);
     if (!vdev) {
         return -1;
     }
@@ -355,6 +356,7 @@ static VirtIOS390DeviceInfo s390_virtio_blk = {
     .qdev.size = sizeof(VirtIOS390Device),
     .qdev.props = (Property[]) {
         DEFINE_BLOCK_PROPERTIES(VirtIOS390Device, block),
+        DEFINE_PROP_STRING("serial", VirtIOS390Device, block_serial),
         DEFINE_PROP_END_OF_LIST(),
     },
 };
diff --git a/hw/s390-virtio-bus.h b/hw/s390-virtio-bus.h
index 0c412d0..f1bece7 100644
--- a/hw/s390-virtio-bus.h
+++ b/hw/s390-virtio-bus.h
@@ -42,6 +42,7 @@ typedef struct VirtIOS390Device {
     uint8_t feat_len;
     VirtIODevice *vdev;
     BlockConf block;
+    char *block_serial;
     NICConf nic;
     uint32_t host_features;
     virtio_serial_conf serial;
diff --git a/hw/virtio-blk.c b/hw/virtio-blk.c
index 91e0394..6471ac8 100644
--- a/hw/virtio-blk.c
+++ b/hw/virtio-blk.c
@@ -28,8 +28,8 @@ typedef struct VirtIOBlock
     void *rq;
     QEMUBH *bh;
     BlockConf *conf;
+    char *serial;
     unsigned short sector_mask;
-    char sn[BLOCK_SERIAL_STRLEN];
     DeviceState *qdev;
 } VirtIOBlock;
 
@@ -362,8 +362,13 @@ static void virtio_blk_handle_request(VirtIOBlockReq *req,
     } else if (type & VIRTIO_BLK_T_GET_ID) {
         VirtIOBlock *s = req->dev;
 
-        memcpy(req->elem.in_sg[0].iov_base, s->sn,
-               MIN(req->elem.in_sg[0].iov_len, sizeof(s->sn)));
+        /*
+         * NB: per existing s/n string convention the string is
+         * terminated by '\0' only when shorter than buffer.
+         */
+        strncpy(req->elem.in_sg[0].iov_base,
+                s->serial ? s->serial : "",
+                MIN(req->elem.in_sg[0].iov_len, VIRTIO_BLK_ID_BYTES));
         virtio_blk_req_complete(req, VIRTIO_BLK_S_OK);
     } else if (type & VIRTIO_BLK_T_OUT) {
         qemu_iovec_init_external(&req->qiov, &req->elem.out_sg[1],
@@ -531,7 +536,8 @@ static void virtio_blk_change_cb(void *opaque, int reason)
     }
 }
 
-VirtIODevice *virtio_blk_init(DeviceState *dev, BlockConf *conf)
+VirtIODevice *virtio_blk_init(DeviceState *dev, BlockConf *conf,
+                              char **serial)
 {
     VirtIOBlock *s;
     int cylinders, heads, secs;
@@ -547,6 +553,14 @@ VirtIODevice *virtio_blk_init(DeviceState *dev, BlockConf *conf)
         return NULL;
     }
 
+    if (!*serial) {
+        /* try to fall back to value set with legacy -drive serial=... */
+        dinfo = drive_get_by_blockdev(conf->bs);
+        if (*dinfo->serial) {
+            *serial = strdup(dinfo->serial);
+        }
+    }
+
     s = (VirtIOBlock *)virtio_common_init("virtio-blk", VIRTIO_ID_BLOCK,
                                           sizeof(struct virtio_blk_config),
                                           sizeof(VirtIOBlock));
@@ -556,16 +570,11 @@ VirtIODevice *virtio_blk_init(DeviceState *dev, BlockConf *conf)
     s->vdev.reset = virtio_blk_reset;
     s->bs = conf->bs;
     s->conf = conf;
+    s->serial = *serial;
     s->rq = NULL;
     s->sector_mask = (s->conf->logical_block_size / BDRV_SECTOR_SIZE) - 1;
     bdrv_guess_geometry(s->bs, &cylinders, &heads, &secs);
 
-    /* NB: per existing s/n string convention the string is terminated
-     * by '\0' only when less than sizeof (s->sn)
-     */
-    dinfo = drive_get_by_blockdev(s->bs);
-    strncpy(s->sn, dinfo->serial, sizeof (s->sn));
-
     s->vq = virtio_add_queue(&s->vdev, 128, virtio_blk_handle_output);
 
     qemu_add_vm_change_state_handler(virtio_blk_dma_restart_cb, s);
diff --git a/hw/virtio-blk.h b/hw/virtio-blk.h
index fff46da..5645d2b 100644
--- a/hw/virtio-blk.h
+++ b/hw/virtio-blk.h
@@ -34,6 +34,8 @@
 #define VIRTIO_BLK_F_WCACHE     9       /* write cache enabled */
 #define VIRTIO_BLK_F_TOPOLOGY   10      /* Topology information is available */
 
+#define VIRTIO_BLK_ID_BYTES     20      /* ID string length */
+
 struct virtio_blk_config
 {
     uint64_t capacity;
diff --git a/hw/virtio-pci.c b/hw/virtio-pci.c
index b3e7ba5..d685243 100644
--- a/hw/virtio-pci.c
+++ b/hw/virtio-pci.c
@@ -700,7 +700,8 @@ static int virtio_blk_init_pci(PCIDevice *pci_dev)
         proxy->class_code != PCI_CLASS_STORAGE_OTHER)
         proxy->class_code = PCI_CLASS_STORAGE_SCSI;
 
-    vdev = virtio_blk_init(&pci_dev->qdev, &proxy->block);
+    vdev = virtio_blk_init(&pci_dev->qdev, &proxy->block,
+                           &proxy->block_serial);
     if (!vdev) {
         return -1;
     }
@@ -805,6 +806,7 @@ static PCIDeviceInfo virtio_info[] = {
         .qdev.props = (Property[]) {
             DEFINE_PROP_HEX32("class", VirtIOPCIProxy, class_code, 0),
             DEFINE_BLOCK_PROPERTIES(VirtIOPCIProxy, block),
+            DEFINE_PROP_STRING("serial", VirtIOPCIProxy, block_serial),
             DEFINE_PROP_BIT("ioeventfd", VirtIOPCIProxy, flags,
                             VIRTIO_PCI_FLAG_USE_IOEVENTFD_BIT, true),
             DEFINE_PROP_UINT32("vectors", VirtIOPCIProxy, nvectors, 2),
diff --git a/hw/virtio-pci.h b/hw/virtio-pci.h
index b518917..1f0de56 100644
--- a/hw/virtio-pci.h
+++ b/hw/virtio-pci.h
@@ -26,6 +26,7 @@ typedef struct {
     uint32_t class_code;
     uint32_t nvectors;
     BlockConf block;
+    char *block_serial;
     NICConf nic;
     uint32_t host_features;
 #ifdef CONFIG_LINUX
diff --git a/hw/virtio.h b/hw/virtio.h
index 69e6bb1..0fd0bb0 100644
--- a/hw/virtio.h
+++ b/hw/virtio.h
@@ -197,7 +197,8 @@ void virtio_bind_device(VirtIODevice *vdev, const VirtIOBindings *binding,
                         void *opaque);
 
 /* Base devices.  */
-VirtIODevice *virtio_blk_init(DeviceState *dev, BlockConf *conf);
+VirtIODevice *virtio_blk_init(DeviceState *dev, BlockConf *conf,
+                              char **serial);
 struct virtio_net_conf;
 VirtIODevice *virtio_net_init(DeviceState *dev, NICConf *conf,
                               struct virtio_net_conf *net);
-- 
1.7.6

^ permalink raw reply related	[flat|nested] 31+ messages in thread

* [Qemu-devel] [PATCH 5/8] block: drive_init(): Simplify interface type setting
  2011-07-06 14:21 [Qemu-devel] [PULL 0/8] Block patches Kevin Wolf
                   ` (3 preceding siblings ...)
  2011-07-06 14:21 ` [Qemu-devel] [PATCH 4/8] virtio-blk: Turn drive serial into a qdev property Kevin Wolf
@ 2011-07-06 14:21 ` Kevin Wolf
  2011-07-06 14:21 ` [Qemu-devel] [PATCH 6/8] block: drive_init(): Improve CHS setting error message Kevin Wolf
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 31+ messages in thread
From: Kevin Wolf @ 2011-07-06 14:21 UTC (permalink / raw)
  To: anthony; +Cc: kwolf, qemu-devel

From: Luiz Capitulino <lcapitulino@redhat.com>

Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
 blockdev.c |   12 ++++--------
 1 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/blockdev.c b/blockdev.c
index 7d579d6..470be71 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -240,14 +240,6 @@ DriveInfo *drive_init(QemuOpts *opts, int default_to_scsi)
     int ret;
 
     translation = BIOS_ATA_TRANSLATION_AUTO;
-
-    if (default_to_scsi) {
-        type = IF_SCSI;
-        pstrcpy(devname, sizeof(devname), "scsi");
-    } else {
-        type = IF_IDE;
-        pstrcpy(devname, sizeof(devname), "ide");
-    }
     media = MEDIA_DISK;
 
     /* extract parameters */
@@ -273,7 +265,11 @@ DriveInfo *drive_init(QemuOpts *opts, int default_to_scsi)
             error_report("unsupported bus type '%s'", buf);
             return NULL;
 	}
+    } else {
+        type = default_to_scsi ? IF_SCSI : IF_IDE;
+        pstrcpy(devname, sizeof(devname), if_name[type]);
     }
+
     max_devs = if_max_devs[type];
 
     if (cyls || heads || secs) {
-- 
1.7.6

^ permalink raw reply related	[flat|nested] 31+ messages in thread

* [Qemu-devel] [PATCH 6/8] block: drive_init(): Improve CHS setting error message
  2011-07-06 14:21 [Qemu-devel] [PULL 0/8] Block patches Kevin Wolf
                   ` (4 preceding siblings ...)
  2011-07-06 14:21 ` [Qemu-devel] [PATCH 5/8] block: drive_init(): Simplify interface type setting Kevin Wolf
@ 2011-07-06 14:21 ` Kevin Wolf
  2011-07-06 14:21 ` [Qemu-devel] [PATCH 7/8] ide: Ignore reads during PIO in and writes during PIO out Kevin Wolf
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 31+ messages in thread
From: Kevin Wolf @ 2011-07-06 14:21 UTC (permalink / raw)
  To: anthony; +Cc: kwolf, qemu-devel

From: Luiz Capitulino <lcapitulino@redhat.com>

The current message doesn't clearly communicate the error cause.

Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
 blockdev.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/blockdev.c b/blockdev.c
index 470be71..a97a801 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -310,7 +310,7 @@ DriveInfo *drive_init(QemuOpts *opts, int default_to_scsi)
 	    media = MEDIA_DISK;
 	} else if (!strcmp(buf, "cdrom")) {
             if (cyls || secs || heads) {
-                error_report("'%s' invalid physical CHS format", buf);
+                error_report("CHS can't be set with media=%s", buf);
 	        return NULL;
             }
 	    media = MEDIA_CDROM;
-- 
1.7.6

^ permalink raw reply related	[flat|nested] 31+ messages in thread

* [Qemu-devel] [PATCH 7/8] ide: Ignore reads during PIO in and writes during PIO out
  2011-07-06 14:21 [Qemu-devel] [PULL 0/8] Block patches Kevin Wolf
                   ` (5 preceding siblings ...)
  2011-07-06 14:21 ` [Qemu-devel] [PATCH 6/8] block: drive_init(): Improve CHS setting error message Kevin Wolf
@ 2011-07-06 14:21 ` Kevin Wolf
  2011-07-06 14:21 ` [Qemu-devel] [PATCH 8/8] ide: Initialise buffers with zeros Kevin Wolf
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 31+ messages in thread
From: Kevin Wolf @ 2011-07-06 14:21 UTC (permalink / raw)
  To: anthony; +Cc: kwolf, qemu-devel

This fixes https://bugs.launchpad.net/qemu/+bug/786209:

    When the DRQ_STAT bit is set, the IDE core permits both data reads
    and data writes, regardless of whether the current transfer was
    initiated as a read or write.

    This potentially leaks uninitialized host memory into the guest,
    if, before doing anything else to an IDE device, the guest begins a
    write transaction (e.g. WIN_WRITE), but then *reads* from the IO
    port instead of writing to it.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
---
 hw/ide/core.c |   44 ++++++++++++++++++++++++++++++++++++--------
 1 files changed, 36 insertions(+), 8 deletions(-)

diff --git a/hw/ide/core.c b/hw/ide/core.c
index ca17a43..a29ae9f 100644
--- a/hw/ide/core.c
+++ b/hw/ide/core.c
@@ -56,6 +56,7 @@ static const int smart_attributes[][12] = {
 };
 
 static int ide_handle_rw_error(IDEState *s, int error, int op);
+static void ide_dummy_transfer_stop(IDEState *s);
 
 static void padstr(char *str, const char *src, int len)
 {
@@ -1532,15 +1533,36 @@ void ide_cmd_write(void *opaque, uint32_t addr, uint32_t val)
     bus->cmd = val;
 }
 
+/*
+ * Returns true if the running PIO transfer is a PIO out (i.e. data is
+ * transferred from the device to the guest), false if it's a PIO in
+ */
+static bool ide_is_pio_out(IDEState *s)
+{
+    if (s->end_transfer_func == ide_sector_write ||
+        s->end_transfer_func == ide_atapi_cmd) {
+        return false;
+    } else if (s->end_transfer_func == ide_sector_read ||
+               s->end_transfer_func == ide_transfer_stop ||
+               s->end_transfer_func == ide_atapi_cmd_reply_end ||
+               s->end_transfer_func == ide_dummy_transfer_stop) {
+        return true;
+    }
+
+    abort();
+}
+
 void ide_data_writew(void *opaque, uint32_t addr, uint32_t val)
 {
     IDEBus *bus = opaque;
     IDEState *s = idebus_active_if(bus);
     uint8_t *p;
 
-    /* PIO data access allowed only when DRQ bit is set */
-    if (!(s->status & DRQ_STAT))
+    /* PIO data access allowed only when DRQ bit is set. The result of a write
+     * during PIO out is indeterminate, just ignore it. */
+    if (!(s->status & DRQ_STAT) || ide_is_pio_out(s)) {
         return;
+    }
 
     p = s->data_ptr;
     *(uint16_t *)p = le16_to_cpu(val);
@@ -1557,9 +1579,11 @@ uint32_t ide_data_readw(void *opaque, uint32_t addr)
     uint8_t *p;
     int ret;
 
-    /* PIO data access allowed only when DRQ bit is set */
-    if (!(s->status & DRQ_STAT))
+    /* PIO data access allowed only when DRQ bit is set. The result of a read
+     * during PIO in is indeterminate, return 0 and don't move forward. */
+    if (!(s->status & DRQ_STAT) || !ide_is_pio_out(s)) {
         return 0;
+    }
 
     p = s->data_ptr;
     ret = cpu_to_le16(*(uint16_t *)p);
@@ -1576,9 +1600,11 @@ void ide_data_writel(void *opaque, uint32_t addr, uint32_t val)
     IDEState *s = idebus_active_if(bus);
     uint8_t *p;
 
-    /* PIO data access allowed only when DRQ bit is set */
-    if (!(s->status & DRQ_STAT))
+    /* PIO data access allowed only when DRQ bit is set. The result of a write
+     * during PIO out is indeterminate, just ignore it. */
+    if (!(s->status & DRQ_STAT) || ide_is_pio_out(s)) {
         return;
+    }
 
     p = s->data_ptr;
     *(uint32_t *)p = le32_to_cpu(val);
@@ -1595,9 +1621,11 @@ uint32_t ide_data_readl(void *opaque, uint32_t addr)
     uint8_t *p;
     int ret;
 
-    /* PIO data access allowed only when DRQ bit is set */
-    if (!(s->status & DRQ_STAT))
+    /* PIO data access allowed only when DRQ bit is set. The result of a read
+     * during PIO in is indeterminate, return 0 and don't move forward. */
+    if (!(s->status & DRQ_STAT) || !ide_is_pio_out(s)) {
         return 0;
+    }
 
     p = s->data_ptr;
     ret = cpu_to_le32(*(uint32_t *)p);
-- 
1.7.6

^ permalink raw reply related	[flat|nested] 31+ messages in thread

* [Qemu-devel] [PATCH 8/8] ide: Initialise buffers with zeros
  2011-07-06 14:21 [Qemu-devel] [PULL 0/8] Block patches Kevin Wolf
                   ` (6 preceding siblings ...)
  2011-07-06 14:21 ` [Qemu-devel] [PATCH 7/8] ide: Ignore reads during PIO in and writes during PIO out Kevin Wolf
@ 2011-07-06 14:21 ` Kevin Wolf
  2011-07-12  9:14 ` [Qemu-devel] [PULL 0/8] Block patches Kevin Wolf
  2011-07-12 13:16 ` Anthony Liguori
  9 siblings, 0 replies; 31+ messages in thread
From: Kevin Wolf @ 2011-07-06 14:21 UTC (permalink / raw)
  To: anthony; +Cc: kwolf, qemu-devel

Just in case there's still a way how a guest can read out buffers when it's not
supposed to, let's zero the buffers during initialisation so that we don't leak
information to the guest.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
---
 hw/ide/core.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/hw/ide/core.c b/hw/ide/core.c
index a29ae9f..d145b19 100644
--- a/hw/ide/core.c
+++ b/hw/ide/core.c
@@ -1789,9 +1789,13 @@ static void ide_init1(IDEBus *bus, int unit)
     s->unit = unit;
     s->drive_serial = drive_serial++;
     /* we need at least 2k alignment for accessing CDROMs using O_DIRECT */
-    s->io_buffer = qemu_memalign(2048, IDE_DMA_BUF_SECTORS*512 + 4);
     s->io_buffer_total_len = IDE_DMA_BUF_SECTORS*512 + 4;
+    s->io_buffer = qemu_memalign(2048, s->io_buffer_total_len);
+    memset(s->io_buffer, 0, s->io_buffer_total_len);
+
     s->smart_selftest_data = qemu_blockalign(s->bs, 512);
+    memset(s->smart_selftest_data, 0, 512);
+
     s->sector_write_timer = qemu_new_timer_ns(vm_clock,
                                            ide_sector_write_timer_cb, s);
 }
-- 
1.7.6

^ permalink raw reply related	[flat|nested] 31+ messages in thread

* Re: [Qemu-devel] [PULL 0/8] Block patches
  2011-07-06 14:21 [Qemu-devel] [PULL 0/8] Block patches Kevin Wolf
                   ` (7 preceding siblings ...)
  2011-07-06 14:21 ` [Qemu-devel] [PATCH 8/8] ide: Initialise buffers with zeros Kevin Wolf
@ 2011-07-12  9:14 ` Kevin Wolf
  2011-07-12 13:16 ` Anthony Liguori
  9 siblings, 0 replies; 31+ messages in thread
From: Kevin Wolf @ 2011-07-12  9:14 UTC (permalink / raw)
  To: Kevin Wolf; +Cc: qemu-devel

Am 06.07.2011 16:21, schrieb Kevin Wolf:
> The following changes since commit 9312805d33e8b106bae356d13a8071fb37d75554:
> 
>   pxa2xx_lcd: add proper rotation support (2011-07-04 22:12:21 +0200)
> 
> are available in the git repository at:
>   git://repo.or.cz/qemu/kevin.git for-anthony
> 
> Federico Simoncelli (1):
>       qemu-img: Add cache command line option
> 
> Johannes Stezenbach (1):
>       block/raw-posix: Linux compat-ioctl warning workaround
> 
> Kevin Wolf (3):
>       Documentation: Remove outdated host_device note
>       ide: Ignore reads during PIO in and writes during PIO out
>       ide: Initialise buffers with zeros
> 
> Luiz Capitulino (2):
>       block: drive_init(): Simplify interface type setting
>       block: drive_init(): Improve CHS setting error message
> 
> Markus Armbruster (1):
>       virtio-blk: Turn drive serial into a qdev property
> 
>  block/raw-posix.c    |   14 +++++++++
>  blockdev.c           |   14 +++-----
>  hw/ide/core.c        |   50 +++++++++++++++++++++++++-----
>  hw/s390-virtio-bus.c |    4 ++-
>  hw/s390-virtio-bus.h |    1 +
>  hw/virtio-blk.c      |   29 ++++++++++++------
>  hw/virtio-blk.h      |    2 +
>  hw/virtio-pci.c      |    4 ++-
>  hw/virtio-pci.h      |    1 +
>  hw/virtio.h          |    3 +-
>  qemu-img-cmds.hx     |    6 ++--
>  qemu-img.c           |   80 +++++++++++++++++++++++++++++++++++++++++--------
>  qemu-img.texi        |    6 ----
>  13 files changed, 161 insertions(+), 53 deletions(-)

Ping?

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [Qemu-devel] [PULL 0/8] Block patches
  2011-07-06 14:21 [Qemu-devel] [PULL 0/8] Block patches Kevin Wolf
                   ` (8 preceding siblings ...)
  2011-07-12  9:14 ` [Qemu-devel] [PULL 0/8] Block patches Kevin Wolf
@ 2011-07-12 13:16 ` Anthony Liguori
  9 siblings, 0 replies; 31+ messages in thread
From: Anthony Liguori @ 2011-07-12 13:16 UTC (permalink / raw)
  To: Kevin Wolf; +Cc: qemu-devel

On 07/06/2011 09:21 AM, Kevin Wolf wrote:
> The following changes since commit 9312805d33e8b106bae356d13a8071fb37d75554:
>
>    pxa2xx_lcd: add proper rotation support (2011-07-04 22:12:21 +0200)

Pulled.  Thanks.

Regards,

Anthony Liguori

>
> are available in the git repository at:
>    git://repo.or.cz/qemu/kevin.git for-anthony
>
> Federico Simoncelli (1):
>        qemu-img: Add cache command line option
>
> Johannes Stezenbach (1):
>        block/raw-posix: Linux compat-ioctl warning workaround
>
> Kevin Wolf (3):
>        Documentation: Remove outdated host_device note
>        ide: Ignore reads during PIO in and writes during PIO out
>        ide: Initialise buffers with zeros
>
> Luiz Capitulino (2):
>        block: drive_init(): Simplify interface type setting
>        block: drive_init(): Improve CHS setting error message
>
> Markus Armbruster (1):
>        virtio-blk: Turn drive serial into a qdev property
>
>   block/raw-posix.c    |   14 +++++++++
>   blockdev.c           |   14 +++-----
>   hw/ide/core.c        |   50 +++++++++++++++++++++++++-----
>   hw/s390-virtio-bus.c |    4 ++-
>   hw/s390-virtio-bus.h |    1 +
>   hw/virtio-blk.c      |   29 ++++++++++++------
>   hw/virtio-blk.h      |    2 +
>   hw/virtio-pci.c      |    4 ++-
>   hw/virtio-pci.h      |    1 +
>   hw/virtio.h          |    3 +-
>   qemu-img-cmds.hx     |    6 ++--
>   qemu-img.c           |   80 +++++++++++++++++++++++++++++++++++++++++--------
>   qemu-img.texi        |    6 ----
>   13 files changed, 161 insertions(+), 53 deletions(-)
>
>

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [Qemu-devel] [PULL 0/8] Block patches
  2019-06-24 13:15     ` Pino Toscano
@ 2019-06-24 14:49       ` Max Reitz
  0 siblings, 0 replies; 31+ messages in thread
From: Max Reitz @ 2019-06-24 14:49 UTC (permalink / raw)
  To: Pino Toscano; +Cc: Kevin Wolf, Peter Maydell, QEMU Developers, Qemu-block


[-- Attachment #1.1: Type: text/plain, Size: 2635 bytes --]

On 24.06.19 15:15, Pino Toscano wrote:
> On Monday, 24 June 2019 14:20:11 CEST Max Reitz wrote:
>> On 23.06.19 19:18, Peter Maydell wrote:
>>> On Fri, 21 Jun 2019 at 14:23, Max Reitz <mreitz@redhat.com> wrote:
>>>>
>>>> The following changes since commit 33d609990621dea6c7d056c86f707b8811320ac1:
>>>>
>>>>   Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging (2019-06-18 17:00:52 +0100)
>>>>
>>>> are available in the Git repository at:
>>>>
>>>>   https://github.com/XanClic/qemu.git tags/pull-block-2019-06-21
>>>>
>>>> for you to fetch changes up to e2a76186f7948b8b75d1b2b52638de7c2f7f7472:
>>>>
>>>>   iotests: Fix 205 for concurrent runs (2019-06-21 14:40:28 +0200)
>>>>
>>>> ----------------------------------------------------------------
>>>> Block patches:
>>>> - The SSH block driver now uses libssh instead of libssh2
>>>> - The VMDK block driver gets read-only support for the seSparse
>>>>   subformat
>>>> - Various fixes
>>>>
>>>
>>> Hi; this failed to build on my s390 box:
>>>
>>> /home/linux1/qemu/block/ssh.c: In function ‘check_host_key_knownhosts’:
>>> /home/linux1/qemu/block/ssh.c:367:27: error: implicit declaration of
>>> function ‘ssh_get_fingerprint_hash’
>>> [-Werror=implicit-function-declaration]
>>>              fingerprint = ssh_get_fingerprint_hash(SSH_PUBLICKEY_HASH_SHA1,
>>>                            ^
>>> /home/linux1/qemu/block/ssh.c:367:13: error: nested extern declaration
>>> of ‘ssh_get_fingerprint_hash’ [-Werror=nested-externs]
>>>              fingerprint = ssh_get_fingerprint_hash(SSH_PUBLICKEY_HASH_SHA1,
>>>              ^
>>> /home/linux1/qemu/block/ssh.c:367:25: error: assignment makes pointer
>>> from integer without a cast [-Werror=int-conversion]
>>>              fingerprint = ssh_get_fingerprint_hash(SSH_PUBLICKEY_HASH_SHA1,
>>>                          ^
>>>
>>> It looks like that function was introduced in libssh 0.8.3, and this box
>>> has 0.6.3. (configure has correctly not defined HAVE_LIBSSH_0_8
>>> but this usage is inside a bit of code that's compiled even when
>>> that is not defined.)
> 
> Oops, sorry, I did not test the latest versions with that old libssh.
> 
>> Pino, would you be OK with dropping that piece of code for pre-0.8 and
>> just replacing it with the else-error_setg()?
> 
> Some the variables in check_host_key_knownhosts must be moved within
> the HAVE_LIBSSH_0_8 block now; attached fixup patch, please squash with
> my patch (I can submit a v12, if needed/wanted).

Thanks, I’ve squashed it in and sent a v2 for this pull request.

Max


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [Qemu-devel] [PULL 0/8] Block patches
  2019-06-24 12:20   ` Max Reitz
@ 2019-06-24 13:15     ` Pino Toscano
  2019-06-24 14:49       ` Max Reitz
  0 siblings, 1 reply; 31+ messages in thread
From: Pino Toscano @ 2019-06-24 13:15 UTC (permalink / raw)
  To: Max Reitz; +Cc: Kevin Wolf, Peter Maydell, QEMU Developers, Qemu-block


[-- Attachment #1.1: Type: text/plain, Size: 2519 bytes --]

On Monday, 24 June 2019 14:20:11 CEST Max Reitz wrote:
> On 23.06.19 19:18, Peter Maydell wrote:
> > On Fri, 21 Jun 2019 at 14:23, Max Reitz <mreitz@redhat.com> wrote:
> >>
> >> The following changes since commit 33d609990621dea6c7d056c86f707b8811320ac1:
> >>
> >>   Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging (2019-06-18 17:00:52 +0100)
> >>
> >> are available in the Git repository at:
> >>
> >>   https://github.com/XanClic/qemu.git tags/pull-block-2019-06-21
> >>
> >> for you to fetch changes up to e2a76186f7948b8b75d1b2b52638de7c2f7f7472:
> >>
> >>   iotests: Fix 205 for concurrent runs (2019-06-21 14:40:28 +0200)
> >>
> >> ----------------------------------------------------------------
> >> Block patches:
> >> - The SSH block driver now uses libssh instead of libssh2
> >> - The VMDK block driver gets read-only support for the seSparse
> >>   subformat
> >> - Various fixes
> >>
> > 
> > Hi; this failed to build on my s390 box:
> > 
> > /home/linux1/qemu/block/ssh.c: In function ‘check_host_key_knownhosts’:
> > /home/linux1/qemu/block/ssh.c:367:27: error: implicit declaration of
> > function ‘ssh_get_fingerprint_hash’
> > [-Werror=implicit-function-declaration]
> >              fingerprint = ssh_get_fingerprint_hash(SSH_PUBLICKEY_HASH_SHA1,
> >                            ^
> > /home/linux1/qemu/block/ssh.c:367:13: error: nested extern declaration
> > of ‘ssh_get_fingerprint_hash’ [-Werror=nested-externs]
> >              fingerprint = ssh_get_fingerprint_hash(SSH_PUBLICKEY_HASH_SHA1,
> >              ^
> > /home/linux1/qemu/block/ssh.c:367:25: error: assignment makes pointer
> > from integer without a cast [-Werror=int-conversion]
> >              fingerprint = ssh_get_fingerprint_hash(SSH_PUBLICKEY_HASH_SHA1,
> >                          ^
> > 
> > It looks like that function was introduced in libssh 0.8.3, and this box
> > has 0.6.3. (configure has correctly not defined HAVE_LIBSSH_0_8
> > but this usage is inside a bit of code that's compiled even when
> > that is not defined.)

Oops, sorry, I did not test the latest versions with that old libssh.

> Pino, would you be OK with dropping that piece of code for pre-0.8 and
> just replacing it with the else-error_setg()?

Some the variables in check_host_key_knownhosts must be moved within
the HAVE_LIBSSH_0_8 block now; attached fixup patch, please squash with
my patch (I can submit a v12, if needed/wanted).

-- 
Pino Toscano

[-- Attachment #1.2: fixup.diff --]
[-- Type: text/x-patch, Size: 2209 bytes --]

diff --git a/block/ssh.c b/block/ssh.c
index 048d0cc924..501933b855 100644
--- a/block/ssh.c
+++ b/block/ssh.c
@@ -277,14 +277,14 @@ static void ssh_parse_filename(const char *filename, QDict *options,
 static int check_host_key_knownhosts(BDRVSSHState *s, Error **errp)
 {
     int ret;
+#ifdef HAVE_LIBSSH_0_8
+    enum ssh_known_hosts_e state;
     int r;
     ssh_key pubkey;
     enum ssh_keytypes_e pubkey_type;
     unsigned char *server_hash = NULL;
     size_t server_hash_len;
     char *fingerprint = NULL;
-#ifdef HAVE_LIBSSH_0_8
-    enum ssh_known_hosts_e state;
 
     state = ssh_session_is_known_server(s->session);
     trace_ssh_server_status(state);
@@ -356,30 +356,9 @@ static int check_host_key_knownhosts(BDRVSSHState *s, Error **errp)
         break;
     case SSH_SERVER_KNOWN_CHANGED:
         ret = -EINVAL;
-        r = ssh_get_publickey(s->session, &pubkey);
-        if (r == 0) {
-            r = ssh_get_publickey_hash(pubkey, SSH_PUBLICKEY_HASH_SHA1,
-                                       &server_hash, &server_hash_len);
-            pubkey_type = ssh_key_type(pubkey);
-            ssh_key_free(pubkey);
-        }
-        if (r == 0) {
-            fingerprint = ssh_get_fingerprint_hash(SSH_PUBLICKEY_HASH_SHA1,
-                                                   server_hash,
-                                                   server_hash_len);
-            ssh_clean_pubkey_hash(&server_hash);
-        }
-        if (fingerprint) {
-            error_setg(errp,
-                       "host key (%s key with fingerprint %s) does not match "
-                       "the one in known_hosts; this may be a possible attack",
-                       ssh_key_type_to_char(pubkey_type), fingerprint);
-            ssh_string_free_char(fingerprint);
-        } else  {
-            error_setg(errp,
-                       "host key does not match the one in known_hosts; this "
-                       "may be a possible attack");
-        }
+        error_setg(errp,
+                   "host key does not match the one in known_hosts; this "
+                   "may be a possible attack");
         goto out;
     case SSH_SERVER_FOUND_OTHER:
         ret = -EINVAL;

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply related	[flat|nested] 31+ messages in thread

* Re: [Qemu-devel] [PULL 0/8] Block patches
  2019-06-23 17:18 ` Peter Maydell
@ 2019-06-24 12:20   ` Max Reitz
  2019-06-24 13:15     ` Pino Toscano
  0 siblings, 1 reply; 31+ messages in thread
From: Max Reitz @ 2019-06-24 12:20 UTC (permalink / raw)
  To: Peter Maydell; +Cc: Kevin Wolf, QEMU Developers, Qemu-block, Pino Toscano


[-- Attachment #1.1: Type: text/plain, Size: 2093 bytes --]

On 23.06.19 19:18, Peter Maydell wrote:
> On Fri, 21 Jun 2019 at 14:23, Max Reitz <mreitz@redhat.com> wrote:
>>
>> The following changes since commit 33d609990621dea6c7d056c86f707b8811320ac1:
>>
>>   Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging (2019-06-18 17:00:52 +0100)
>>
>> are available in the Git repository at:
>>
>>   https://github.com/XanClic/qemu.git tags/pull-block-2019-06-21
>>
>> for you to fetch changes up to e2a76186f7948b8b75d1b2b52638de7c2f7f7472:
>>
>>   iotests: Fix 205 for concurrent runs (2019-06-21 14:40:28 +0200)
>>
>> ----------------------------------------------------------------
>> Block patches:
>> - The SSH block driver now uses libssh instead of libssh2
>> - The VMDK block driver gets read-only support for the seSparse
>>   subformat
>> - Various fixes
>>
> 
> Hi; this failed to build on my s390 box:
> 
> /home/linux1/qemu/block/ssh.c: In function ‘check_host_key_knownhosts’:
> /home/linux1/qemu/block/ssh.c:367:27: error: implicit declaration of
> function ‘ssh_get_fingerprint_hash’
> [-Werror=implicit-function-declaration]
>              fingerprint = ssh_get_fingerprint_hash(SSH_PUBLICKEY_HASH_SHA1,
>                            ^
> /home/linux1/qemu/block/ssh.c:367:13: error: nested extern declaration
> of ‘ssh_get_fingerprint_hash’ [-Werror=nested-externs]
>              fingerprint = ssh_get_fingerprint_hash(SSH_PUBLICKEY_HASH_SHA1,
>              ^
> /home/linux1/qemu/block/ssh.c:367:25: error: assignment makes pointer
> from integer without a cast [-Werror=int-conversion]
>              fingerprint = ssh_get_fingerprint_hash(SSH_PUBLICKEY_HASH_SHA1,
>                          ^
> 
> It looks like that function was introduced in libssh 0.8.3, and this box
> has 0.6.3. (configure has correctly not defined HAVE_LIBSSH_0_8
> but this usage is inside a bit of code that's compiled even when
> that is not defined.)

Pino, would you be OK with dropping that piece of code for pre-0.8 and
just replacing it with the else-error_setg()?

Max


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [Qemu-devel] [PULL 0/8] Block patches
  2019-06-21 13:23 Max Reitz
@ 2019-06-23 17:18 ` Peter Maydell
  2019-06-24 12:20   ` Max Reitz
  0 siblings, 1 reply; 31+ messages in thread
From: Peter Maydell @ 2019-06-23 17:18 UTC (permalink / raw)
  To: Max Reitz; +Cc: Kevin Wolf, QEMU Developers, Qemu-block

On Fri, 21 Jun 2019 at 14:23, Max Reitz <mreitz@redhat.com> wrote:
>
> The following changes since commit 33d609990621dea6c7d056c86f707b8811320ac1:
>
>   Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging (2019-06-18 17:00:52 +0100)
>
> are available in the Git repository at:
>
>   https://github.com/XanClic/qemu.git tags/pull-block-2019-06-21
>
> for you to fetch changes up to e2a76186f7948b8b75d1b2b52638de7c2f7f7472:
>
>   iotests: Fix 205 for concurrent runs (2019-06-21 14:40:28 +0200)
>
> ----------------------------------------------------------------
> Block patches:
> - The SSH block driver now uses libssh instead of libssh2
> - The VMDK block driver gets read-only support for the seSparse
>   subformat
> - Various fixes
>

Hi; this failed to build on my s390 box:

/home/linux1/qemu/block/ssh.c: In function ‘check_host_key_knownhosts’:
/home/linux1/qemu/block/ssh.c:367:27: error: implicit declaration of
function ‘ssh_get_fingerprint_hash’
[-Werror=implicit-function-declaration]
             fingerprint = ssh_get_fingerprint_hash(SSH_PUBLICKEY_HASH_SHA1,
                           ^
/home/linux1/qemu/block/ssh.c:367:13: error: nested extern declaration
of ‘ssh_get_fingerprint_hash’ [-Werror=nested-externs]
             fingerprint = ssh_get_fingerprint_hash(SSH_PUBLICKEY_HASH_SHA1,
             ^
/home/linux1/qemu/block/ssh.c:367:25: error: assignment makes pointer
from integer without a cast [-Werror=int-conversion]
             fingerprint = ssh_get_fingerprint_hash(SSH_PUBLICKEY_HASH_SHA1,
                         ^

It looks like that function was introduced in libssh 0.8.3, and this box
has 0.6.3. (configure has correctly not defined HAVE_LIBSSH_0_8
but this usage is inside a bit of code that's compiled even when
that is not defined.)

thanks
-- PMM


^ permalink raw reply	[flat|nested] 31+ messages in thread

* [Qemu-devel] [PULL 0/8] Block patches
@ 2019-06-21 13:23 Max Reitz
  2019-06-23 17:18 ` Peter Maydell
  0 siblings, 1 reply; 31+ messages in thread
From: Max Reitz @ 2019-06-21 13:23 UTC (permalink / raw)
  To: qemu-block; +Cc: Kevin Wolf, Peter Maydell, qemu-devel, Max Reitz

The following changes since commit 33d609990621dea6c7d056c86f707b8811320ac1:

  Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging (2019-06-18 17:00:52 +0100)

are available in the Git repository at:

  https://github.com/XanClic/qemu.git tags/pull-block-2019-06-21

for you to fetch changes up to e2a76186f7948b8b75d1b2b52638de7c2f7f7472:

  iotests: Fix 205 for concurrent runs (2019-06-21 14:40:28 +0200)

----------------------------------------------------------------
Block patches:
- The SSH block driver now uses libssh instead of libssh2
- The VMDK block driver gets read-only support for the seSparse
  subformat
- Various fixes

----------------------------------------------------------------
Anton Nefedov (1):
  iotest 134: test cluster-misaligned encrypted write

Klaus Birkelund Jensen (1):
  nvme: do not advertise support for unsupported arbitration mechanism

Max Reitz (1):
  iotests: Fix 205 for concurrent runs

Pino Toscano (1):
  ssh: switch from libssh2 to libssh

Sam Eiderman (3):
  vmdk: Fix comment regarding max l1_size coverage
  vmdk: Reduce the max bound for L1 table size
  vmdk: Add read-only support for seSparse snapshots

Vladimir Sementsov-Ogievskiy (1):
  blockdev: enable non-root nodes for transaction drive-backup source

 configure                                     |  65 +-
 block/Makefile.objs                           |   6 +-
 block/ssh.c                                   | 673 ++++++++++--------
 block/vmdk.c                                  | 372 +++++++++-
 blockdev.c                                    |   2 +-
 hw/block/nvme.c                               |   1 -
 .travis.yml                                   |   4 +-
 block/trace-events                            |  14 +-
 docs/qemu-block-drivers.texi                  |   2 +-
 .../dockerfiles/debian-win32-cross.docker     |   1 -
 .../dockerfiles/debian-win64-cross.docker     |   1 -
 tests/docker/dockerfiles/fedora.docker        |   4 +-
 tests/docker/dockerfiles/ubuntu.docker        |   2 +-
 tests/docker/dockerfiles/ubuntu1804.docker    |   2 +-
 tests/qemu-iotests/059.out                    |   2 +-
 tests/qemu-iotests/134                        |   9 +
 tests/qemu-iotests/134.out                    |  10 +
 tests/qemu-iotests/205                        |   2 +-
 tests/qemu-iotests/207                        |  54 +-
 tests/qemu-iotests/207.out                    |   2 +-
 20 files changed, 844 insertions(+), 384 deletions(-)

-- 
2.21.0



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [Qemu-devel] [PULL 0/8] Block patches
  2019-05-10 13:02 Stefan Hajnoczi
@ 2019-05-10 14:24 ` Peter Maydell
  0 siblings, 0 replies; 31+ messages in thread
From: Peter Maydell @ 2019-05-10 14:24 UTC (permalink / raw)
  To: Stefan Hajnoczi
  Cc: Fam Zheng, Kevin Wolf, Qemu-block, QEMU Developers, Max Reitz,
	Paolo Bonzini

On Fri, 10 May 2019 at 14:02, Stefan Hajnoczi <stefanha@redhat.com> wrote:
>
> The following changes since commit 812b835fb4d23dd108b2f9802158472d50b73579:
>
>   Merge remote-tracking branch 'remotes/maxreitz/tags/pull-block-2019-05-07' into staging (2019-05-09 16:31:12 +0100)
>
> are available in the Git repository at:
>
>   https://github.com/stefanha/qemu.git tags/block-pull-request
>
> for you to fetch changes up to e84125761f78919fe63616d9888ea45e72dc956f:
>
>   docs: add Security chapter to the documentation (2019-05-10 10:53:52 +0100)
>
> ----------------------------------------------------------------
> Pull request
>
> ----------------------------------------------------------------



Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/4.1
for any user-visible changes.

-- PMM


^ permalink raw reply	[flat|nested] 31+ messages in thread

* [Qemu-devel] [PULL 0/8] Block patches
@ 2019-05-10 13:02 Stefan Hajnoczi
  2019-05-10 14:24 ` Peter Maydell
  0 siblings, 1 reply; 31+ messages in thread
From: Stefan Hajnoczi @ 2019-05-10 13:02 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Peter Maydell, qemu-block, Max Reitz, Stefan Hajnoczi,
	Paolo Bonzini, Kevin Wolf

The following changes since commit 812b835fb4d23dd108b2f9802158472d50b73579:

  Merge remote-tracking branch 'remotes/maxreitz/tags/pull-block-2019-05-07' into staging (2019-05-09 16:31:12 +0100)

are available in the Git repository at:

  https://github.com/stefanha/qemu.git tags/block-pull-request

for you to fetch changes up to e84125761f78919fe63616d9888ea45e72dc956f:

  docs: add Security chapter to the documentation (2019-05-10 10:53:52 +0100)

----------------------------------------------------------------
Pull request

----------------------------------------------------------------

Andrey Shinkevich (1):
  block/io.c: fix for the allocation failure

Jules Irenge (3):
  util/readline: add a space to fix errors by checkpatch tool
  util: readline: replace tab indent by four spaces to fix checkpatch
    errors
  util/readline: Add braces to fix checkpatch errors

Nikita Alekseev (1):
  block: Add coroutine_fn to bdrv_check_co_entry

Paolo Bonzini (1):
  aio-posix: ensure poll mode is left when aio_notify is called

Stefan Hajnoczi (2):
  docs: add Secure Coding Practices to developer docs
  docs: add Security chapter to the documentation

 Makefile                               |   2 +-
 block.c                                |   2 +-
 block/io.c                             |   2 +-
 util/aio-posix.c                       |  12 +-
 util/readline.c                        | 174 ++++++++++++++-----------
 docs/devel/index.rst                   |   1 +
 docs/devel/secure-coding-practices.rst | 106 +++++++++++++++
 docs/security.texi                     | 131 +++++++++++++++++++
 qemu-doc.texi                          |   3 +
 9 files changed, 347 insertions(+), 86 deletions(-)
 create mode 100644 docs/devel/secure-coding-practices.rst
 create mode 100644 docs/security.texi

-- 
2.21.0



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [Qemu-devel] [PULL 0/8] Block patches
  2018-05-12  9:28 Stefan Hajnoczi
  2018-05-12  9:42 ` no-reply
  2018-05-14 13:15 ` Peter Maydell
@ 2018-05-14 17:53 ` Peter Maydell
  2 siblings, 0 replies; 31+ messages in thread
From: Peter Maydell @ 2018-05-14 17:53 UTC (permalink / raw)
  To: Stefan Hajnoczi; +Cc: QEMU Developers, Qemu-block

On 12 May 2018 at 10:28, Stefan Hajnoczi <stefanha@redhat.com> wrote:
> The following changes since commit e5cd695266c5709308aa95b1baae499e4b5d4544:
>
>   Merge remote-tracking branch 'remotes/cody/tags/block-pull-request' into staging (2018-05-08 17:05:58 +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 31be8a2a97ecba7d31a82932286489cac318e9e9:
>
>   block/file-posix: add x-check-page-cache=on|off option (2018-05-11 16:43:05 +0100)
>
> ----------------------------------------------------------------
> Block pull request
>
>  * Support -drive cache.direct=off live migration for POSIX files
>

Applied, thanks.

-- PMM

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [Qemu-devel] [PULL 0/8] Block patches
  2018-05-14 13:15 ` Peter Maydell
@ 2018-05-14 16:02   ` Peter Maydell
  0 siblings, 0 replies; 31+ messages in thread
From: Peter Maydell @ 2018-05-14 16:02 UTC (permalink / raw)
  To: Stefan Hajnoczi; +Cc: QEMU Developers, Qemu-block

On 14 May 2018 at 14:15, Peter Maydell <peter.maydell@linaro.org> wrote:
> On 12 May 2018 at 10:28, Stefan Hajnoczi <stefanha@redhat.com> wrote:
>> The following changes since commit e5cd695266c5709308aa95b1baae499e4b5d4544:
>>
>>   Merge remote-tracking branch 'remotes/cody/tags/block-pull-request' into staging (2018-05-08 17:05:58 +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 31be8a2a97ecba7d31a82932286489cac318e9e9:
>>
>>   block/file-posix: add x-check-page-cache=on|off option (2018-05-11 16:43:05 +0100)
>>
>> ----------------------------------------------------------------
>> Block pull request
>>
>>  * Support -drive cache.direct=off live migration for POSIX files
>>
>> ----------------------------------------------------------------
>
> With this I get test failures for x86-64 Linux host (debug enabled):
>
> MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}
> gtester -k --verbose -m=quick tests/test-replication
> TEST: tests/test-replication... (pid=15016)
>   /replication/primary/read:                                           OK
>   /replication/primary/write:                                          OK
>   /replication/primary/start:                                          OK
>   /replication/primary/stop:                                           OK
>   /replication/primary/do_checkpoint:                                  OK
>   /replication/primary/get_error_all:                                  OK
>   /replication/secondary/read:                                         **
> ERROR:/home/petmay01/linaro/qemu-for-merges/tests/test-replication.c:119:test_blk_write:
> assertion failed: (async_ret == 0)
> FAIL
> GTester: last random seed: R02Sf99d81651223b2fcdd0d7d601245eba3
> (pid=15131)
>   /replication/secondary/write:                                        OK
>   /replication/secondary/start:                                        **
> ERROR:/home/petmay01/linaro/qemu-for-merges/tests/test-replication.c:119:test_blk_write:
> assertion failed: (async_ret == 0)
> FAIL

Sorry, this is a false alarm -- this test fails in this obscure way if the
system has run out of disk space and the write returns ENOSPC.

Ideally we should fix the test to print the errno. In the meantime I've
deleted some large log files and will retest the pull :-)

thanks
-- PMM

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [Qemu-devel] [PULL 0/8] Block patches
  2018-05-12  9:28 Stefan Hajnoczi
  2018-05-12  9:42 ` no-reply
@ 2018-05-14 13:15 ` Peter Maydell
  2018-05-14 16:02   ` Peter Maydell
  2018-05-14 17:53 ` Peter Maydell
  2 siblings, 1 reply; 31+ messages in thread
From: Peter Maydell @ 2018-05-14 13:15 UTC (permalink / raw)
  To: Stefan Hajnoczi; +Cc: QEMU Developers, Qemu-block

On 12 May 2018 at 10:28, Stefan Hajnoczi <stefanha@redhat.com> wrote:
> The following changes since commit e5cd695266c5709308aa95b1baae499e4b5d4544:
>
>   Merge remote-tracking branch 'remotes/cody/tags/block-pull-request' into staging (2018-05-08 17:05:58 +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 31be8a2a97ecba7d31a82932286489cac318e9e9:
>
>   block/file-posix: add x-check-page-cache=on|off option (2018-05-11 16:43:05 +0100)
>
> ----------------------------------------------------------------
> Block pull request
>
>  * Support -drive cache.direct=off live migration for POSIX files
>
> ----------------------------------------------------------------

With this I get test failures for x86-64 Linux host (debug enabled):

MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}
gtester -k --verbose -m=quick tests/test-replication
TEST: tests/test-replication... (pid=15016)
  /replication/primary/read:                                           OK
  /replication/primary/write:                                          OK
  /replication/primary/start:                                          OK
  /replication/primary/stop:                                           OK
  /replication/primary/do_checkpoint:                                  OK
  /replication/primary/get_error_all:                                  OK
  /replication/secondary/read:                                         **
ERROR:/home/petmay01/linaro/qemu-for-merges/tests/test-replication.c:119:test_blk_write:
assertion failed: (async_ret == 0)
FAIL
GTester: last random seed: R02Sf99d81651223b2fcdd0d7d601245eba3
(pid=15131)
  /replication/secondary/write:                                        OK
  /replication/secondary/start:                                        **
ERROR:/home/petmay01/linaro/qemu-for-merges/tests/test-replication.c:119:test_blk_write:
assertion failed: (async_ret == 0)
FAIL
GTester: last random seed: R02S3e753c59c58d385aa2ea07c974c2e384
(pid=15309)
  /replication/secondary/stop:                                         **
ERROR:/home/petmay01/linaro/qemu-for-merges/tests/test-replication.c:119:test_blk_write:
assertion failed: (async_ret == 0)
FAIL
GTester: last random seed: R02Sb6a8459edfa78efa369da3920846afa7
(pid=15439)
  /replication/secondary/do_checkpoint:                                **
ERROR:/home/petmay01/linaro/qemu-for-merges/tests/test-replication.c:119:test_blk_write:
assertion failed: (async_ret == 0)
FAIL
GTester: last random seed: R02S4b2e6aa4e33bba4c5bdea0b9073ee966
(pid=15580)
  /replication/secondary/get_error_all:                                OK
FAIL: tests/test-replication
/home/petmay01/linaro/qemu-for-merges/tests/Makefile.include:892:
recipe for target 'check-tests/test-replication' failed


thanks
-- PMM

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [Qemu-devel] [PULL 0/8] Block patches
  2018-05-12  9:28 Stefan Hajnoczi
@ 2018-05-12  9:42 ` no-reply
  2018-05-14 13:15 ` Peter Maydell
  2018-05-14 17:53 ` Peter Maydell
  2 siblings, 0 replies; 31+ messages in thread
From: no-reply @ 2018-05-12  9:42 UTC (permalink / raw)
  To: stefanha; +Cc: famz, qemu-devel, peter.maydell, qemu-block

Hi,

This series seems to have some coding style problems. See output below for
more information:

Type: series
Message-id: 20180512092824.13848-1-stefanha@redhat.com
Subject: [Qemu-devel] [PULL 0/8] Block patches

=== TEST SCRIPT BEGIN ===
#!/bin/bash

BASE=base
n=1
total=$(git log --oneline $BASE.. | wc -l)
failed=0

git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram

commits="$(git log --format=%H --reverse $BASE..)"
for c in $commits; do
    echo "Checking PATCH $n/$total: $(git log -n 1 --format=%s $c)..."
    if ! git show $c --format=email | ./scripts/checkpatch.pl --mailback -; then
        failed=1
        echo
    fi
    n=$((n+1))
done

exit $failed
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
 * [new tag]               patchew/20180512092824.13848-1-stefanha@redhat.com -> patchew/20180512092824.13848-1-stefanha@redhat.com
 t [tag update]            patchew/cover.1526081108.git.alistair.francis@wdc.com -> patchew/cover.1526081108.git.alistair.francis@wdc.com
Switched to a new branch 'test'
a35067253e block/file-posix: add x-check-page-cache=on|off option
c6c991d81f block/file-posix: implement bdrv_co_invalidate_cache() on Linux
3b9d04939d checkpatch: reduce MAINTAINERS update message frequency
92c27dd7e6 checkpatch: emit a warning on file add/move/delete
82e1381f3f checkpatch: ignore email headers better
63d8deac11 checkpatch: check utf-8 content from a commit log when it's missing from charset
7ecaae4f83 checkpatch: add a --strict check for utf-8 in commit logs
ca525fa2f4 blockjob: drop block_job_pause/resume_all()

=== OUTPUT BEGIN ===
Checking PATCH 1/8: blockjob: drop block_job_pause/resume_all()...
Checking PATCH 2/8: checkpatch: add a --strict check for utf-8 in commit logs...
WARNING: line over 80 characters
#109: FILE: scripts/checkpatch.pl:1420:
+			WARN("8-bit UTF-8 used in possible commit log\n" . $herecurr);

total: 0 errors, 1 warnings, 66 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
Checking PATCH 3/8: checkpatch: check utf-8 content from a commit log when it's missing from charset...
Checking PATCH 4/8: checkpatch: ignore email headers better...
Checking PATCH 5/8: checkpatch: emit a warning on file add/move/delete...
WARNING: line over 80 characters
#51: FILE: scripts/checkpatch.pl:1397:
+		     ($line =~ /\{\s*([\w\/\.\-]*)\s*\=\>\s*([\w\/\.\-]*)\s*\}/ &&

ERROR: line over 90 characters
#54: FILE: scripts/checkpatch.pl:1400:
+			WARN("added, moved or deleted file(s), does MAINTAINERS need updating?\n" . $herecurr);

total: 1 errors, 1 warnings, 24 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

Checking PATCH 6/8: checkpatch: reduce MAINTAINERS update message frequency...
Checking PATCH 7/8: block/file-posix: implement bdrv_co_invalidate_cache() on Linux...
WARNING: architecture specific defines should be avoided
#52: FILE: block/file-posix.c:2255:
+#if defined(__linux__)

total: 0 errors, 1 warnings, 70 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
Checking PATCH 8/8: block/file-posix: add x-check-page-cache=on|off option...
WARNING: line over 80 characters
#47: FILE: block/file-posix.c:423:
+            .help = "check that page cache was dropped on live migration (default: off)"

WARNING: architecture specific defines should be avoided
#120: FILE: block/file-posix.c:2264:
+#if defined(__linux__)

total: 0 errors, 2 warnings, 185 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
=== OUTPUT END ===

Test command exited with code: 1


---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@redhat.com

^ permalink raw reply	[flat|nested] 31+ messages in thread

* [Qemu-devel] [PULL 0/8] Block patches
@ 2018-05-12  9:28 Stefan Hajnoczi
  2018-05-12  9:42 ` no-reply
                   ` (2 more replies)
  0 siblings, 3 replies; 31+ messages in thread
From: Stefan Hajnoczi @ 2018-05-12  9:28 UTC (permalink / raw)
  To: qemu-devel; +Cc: qemu-block, Peter Maydell

The following changes since commit e5cd695266c5709308aa95b1baae499e4b5d4544:

  Merge remote-tracking branch 'remotes/cody/tags/block-pull-request' into staging (2018-05-08 17:05:58 +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 31be8a2a97ecba7d31a82932286489cac318e9e9:

  block/file-posix: add x-check-page-cache=on|off option (2018-05-11 16:43:05 +0100)

----------------------------------------------------------------
Block pull request

 * Support -drive cache.direct=off live migration for POSIX files

----------------------------------------------------------------

Joe Perches (4):
  checkpatch: add a --strict check for utf-8 in commit logs
  checkpatch: ignore email headers better
  checkpatch: emit a warning on file add/move/delete
  checkpatch: reduce MAINTAINERS update message frequency

Pasi Savanainen (1):
  checkpatch: check utf-8 content from a commit log when it's missing
    from charset

Stefan Hajnoczi (3):
  blockjob: drop block_job_pause/resume_all()
  block/file-posix: implement bdrv_co_invalidate_cache() on Linux
  block/file-posix: add x-check-page-cache=on|off option

 qapi/block-core.json         |   7 +-
 include/block/blockjob_int.h |  14 ----
 block/file-posix.c           | 146 ++++++++++++++++++++++++++++++++++-
 blockjob.c                   |  27 -------
 scripts/checkpatch.pl        |  56 +++++++++++++-
 5 files changed, 202 insertions(+), 48 deletions(-)

-- 
2.17.0

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [Qemu-devel] [PULL 0/8] Block patches
  2016-07-18 16:59 Stefan Hajnoczi
@ 2016-07-19  8:01 ` Peter Maydell
  0 siblings, 0 replies; 31+ messages in thread
From: Peter Maydell @ 2016-07-19  8:01 UTC (permalink / raw)
  To: Stefan Hajnoczi; +Cc: QEMU Developers

On 18 July 2016 at 17:59, Stefan Hajnoczi <stefanha@redhat.com> wrote:
> The following changes since commit 3913d3707e3debfbf0d2d014a1a793394993b088:
>
>   Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-2.7-20160718' into staging (2016-07-18 11:24:15 +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 e1029ae26d96d5de78c2d9af5eddcea92e73a46a:
>
>   MAINTAINERS: Add include/block/aio.h to block I/O path section (2016-07-18 15:10:52 +0100)
>
> ----------------------------------------------------------------
>
> This is not quite a v2 because I have added more patches.  "linux-aio: share
> one LinuxAioState within an AioContext" is now fixed under mingw.
>
> ----------------------------------------------------------------

Applied, thanks.

-- PMM

^ permalink raw reply	[flat|nested] 31+ messages in thread

* [Qemu-devel] [PULL 0/8] Block patches
@ 2016-07-18 16:59 Stefan Hajnoczi
  2016-07-19  8:01 ` Peter Maydell
  0 siblings, 1 reply; 31+ messages in thread
From: Stefan Hajnoczi @ 2016-07-18 16:59 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Stefan Hajnoczi

The following changes since commit 3913d3707e3debfbf0d2d014a1a793394993b088:

  Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-2.7-20160718' into staging (2016-07-18 11:24:15 +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 e1029ae26d96d5de78c2d9af5eddcea92e73a46a:

  MAINTAINERS: Add include/block/aio.h to block I/O path section (2016-07-18 15:10:52 +0100)

----------------------------------------------------------------

This is not quite a v2 because I have added more patches.  "linux-aio: share
one LinuxAioState within an AioContext" is now fixed under mingw.

----------------------------------------------------------------

Cao jin (3):
  aio_ctx_check: follow CODING_STYLE
  aio-posix: remove useless parameter
  virtio-blk: dataplane cleanup

Fam Zheng (1):
  MAINTAINERS: Add include/block/aio.h to block I/O path section

Paolo Bonzini (1):
  linux-aio: share one LinuxAioState within an AioContext

Roman Pen (1):
  linux-aio: prevent submitting more than MAX_EVENTS

Stefan Hajnoczi (1):
  checkpatch: consider git extended headers valid patches

Vladimir Sementsov-Ogievskiy (1):
  spec/parallels: fix a mistake

 MAINTAINERS                     |   1 +
 aio-posix.c                     |   3 +-
 aio-win32.c                     |   2 +-
 async.c                         |  33 ++++++++---
 block/linux-aio.c               |  36 +++++++-----
 block/raw-aio.h                 |  68 -----------------------
 block/raw-posix.c               | 119 +++++-----------------------------------
 block/raw-win32.c               |   2 +-
 block/win32-aio.c               |   2 +-
 docs/specs/parallels.txt        |   2 +-
 hw/block/dataplane/virtio-blk.c |   6 +-
 include/block/aio.h             |  15 ++++-
 include/block/raw-aio.h         |  68 +++++++++++++++++++++++
 scripts/checkpatch.pl           |   5 ++
 14 files changed, 158 insertions(+), 204 deletions(-)
 delete mode 100644 block/raw-aio.h
 create mode 100644 include/block/raw-aio.h

-- 
2.7.4

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [Qemu-devel] [PULL 0/8] Block patches
  2014-01-31 21:19 Stefan Hajnoczi
@ 2014-02-05 16:38 ` Peter Maydell
  0 siblings, 0 replies; 31+ messages in thread
From: Peter Maydell @ 2014-02-05 16:38 UTC (permalink / raw)
  To: Stefan Hajnoczi; +Cc: QEMU Developers, Anthony Liguori

On 31 January 2014 21:19, Stefan Hajnoczi <stefanha@redhat.com> wrote:
> The following changes since commit 89e4a51ca9546a7bbe1998c4e3d4a3ac3a0c19be:
>
>   Merge remote-tracking branch 'stefanha/tags/tracing-pull-request' into staging (2014-01-31 11:13:08 +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 1b7650ef2f63d53cf89af25a9f323323cf2423a7:
>
>   qemu-iotests: only run 071 on qcow2 (2014-01-31 22:05:03 +0100)

Applied, thanks.

-- PMM

^ permalink raw reply	[flat|nested] 31+ messages in thread

* [Qemu-devel] [PULL 0/8] Block patches
@ 2014-01-31 21:19 Stefan Hajnoczi
  2014-02-05 16:38 ` Peter Maydell
  0 siblings, 1 reply; 31+ messages in thread
From: Stefan Hajnoczi @ 2014-01-31 21:19 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Anthony Liguori

The following changes since commit 89e4a51ca9546a7bbe1998c4e3d4a3ac3a0c19be:

  Merge remote-tracking branch 'stefanha/tags/tracing-pull-request' into staging (2014-01-31 11:13:08 +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 1b7650ef2f63d53cf89af25a9f323323cf2423a7:

  qemu-iotests: only run 071 on qcow2 (2014-01-31 22:05:03 +0100)

----------------------------------------------------------------
Block pull request

----------------------------------------------------------------
Daniel P. Berrange (1):
      Describe flaws in qcow/qcow2 encryption in the docs

Fam Zheng (1):
      qemu-iotests: Drop assert_no_active_commit in case 040

Jeff Cody (2):
      block: remove QED .bdrv_make_empty implementation
      block: remove qcow2 .bdrv_make_empty implementation

Markus Armbruster (2):
      block/vhdx: Error checking fixes
      dataplane: Comment fix

Peter Lieven (1):
      block/vmdk: add basic .bdrv_check support

Stefan Hajnoczi (1):
      qemu-iotests: only run 071 on qcow2

 block/qcow2.c                   | 21 ------------------
 block/qed.c                     |  6 ------
 block/vhdx-log.c                |  4 ++--
 block/vhdx.c                    |  8 +++----
 block/vmdk.c                    | 48 +++++++++++++++++++++++++++++++++++++++++
 hw/block/dataplane/virtio-blk.c |  2 +-
 qemu-doc.texi                   | 23 +++++++++++++++++---
 qemu-img.texi                   | 23 +++++++++++++++++---
 tests/qemu-iotests/040          | 28 +++++++++++-------------
 tests/qemu-iotests/071          |  2 +-
 10 files changed, 108 insertions(+), 57 deletions(-)

-- 
1.8.5.3

^ permalink raw reply	[flat|nested] 31+ messages in thread

* [Qemu-devel] [PULL 0/8] Block patches
@ 2013-10-07 11:28 Stefan Hajnoczi
  0 siblings, 0 replies; 31+ messages in thread
From: Stefan Hajnoczi @ 2013-10-07 11:28 UTC (permalink / raw)
  To: qemu-devel; +Cc: Stefan Hajnoczi, Anthony Liguori

The following changes since commit a684f3cf9b9b9c3cb82be87aafc463de8974610c:

  Merge remote-tracking branch 'kraxel/seabios-1.7.3.2' into staging (2013-09-30 17:15:27 -0500)

are available in the git repository at:


  git://github.com/stefanha/qemu.git block

for you to fetch changes up to d4cea8dfb99153803164915c7a1109549ad3da9c:

  block: use correct filename (2013-10-07 13:23:19 +0200)

----------------------------------------------------------------
Dunrong Huang (2):
      block: use correct filename for error report
      block: use correct filename

Jeff Cody (1):
      block: vhdx - add migration blocker

Max Reitz (5):
      qcow2: Correct endianness in overlap check
      qcow2: CHECK_OFLAG_COPIED is obsolete
      qcow2: Switch L1 table in a single sequence
      qcow2: Free allocated L2 cluster on error
      qemu-iotests: Correct 026 output

 block.c                            |  8 ++++----
 block/qcow2-cluster.c              | 11 +++++++++--
 block/qcow2-refcount.c             |  8 +++-----
 block/vhdx.c                       | 10 ++++++++++
 tests/qemu-iotests/026.out         | 32 ++++++++------------------------
 tests/qemu-iotests/026.out.nocache | 32 ++++++++------------------------
 6 files changed, 42 insertions(+), 59 deletions(-)

-- 
1.8.3.1

^ permalink raw reply	[flat|nested] 31+ messages in thread

* [Qemu-devel] [PULL 0/8] Block patches
@ 2013-07-15 11:16 Kevin Wolf
  0 siblings, 0 replies; 31+ messages in thread
From: Kevin Wolf @ 2013-07-15 11:16 UTC (permalink / raw)
  To: anthony; +Cc: kwolf, qemu-devel

The following changes since commit c3cb8e77804313e1be99b5f28a34a346736707a5:

  ioport: remove LITTLE_ENDIAN mark for portio (2013-07-12 14:37:47 -0500)

are available in the git repository at:

  git://repo.or.cz/qemu/kevin.git for-anthony

for you to fetch changes up to a62eaa26c1d6d48fbdc3ac1d32bd1314f5fdc8c9:

  ahci: Fix FLUSH command (2013-07-15 11:53:55 +0200)

----------------------------------------------------------------
Kevin Wolf (6):
      block: Don't parse protocol from file.filename
      qemu-iotests: Update 051 reference output
      block: Add return value for bdrv_flush_all()
      cpus: Add return value for vm_stop()
      migration: Fail migration on bdrv_flush_all() error
      ahci: Fix FLUSH command

Stefan Hajnoczi (2):
      blockdev: add sync mode to drive-backup QMP command
      block: add drive_backup HMP command

 block.c                          |  27 ++++++---
 block/sheepdog.c                 |   2 +-
 blockdev.c                       |   6 ++
 cpus.c                           |  20 ++++---
 hmp-commands.hx                  |  20 +++++++
 hmp.c                            |  28 +++++++++
 hmp.h                            |   1 +
 hw/ide/ahci.c                    |   8 ++-
 hw/ide/core.c                    |   9 +++
 hw/ide/internal.h                |   1 +
 include/block/block.h            |   5 +-
 include/sysemu/sysemu.h          |   4 +-
 migration.c                      |  17 +++++-
 qapi-schema.json                 |   7 ++-
 qemu-img.c                       |   4 +-
 qmp-commands.hx                  |   6 +-
 stubs/vm-stop.c                  |   2 +-
 tests/qemu-iotests/051           |  12 ++++
 tests/qemu-iotests/051.out       | 121 ++++++++++++++++++++++++++++-----------
 tests/qemu-iotests/055           |  36 +++++++-----
 tests/qemu-iotests/common.filter |   2 +-
 21 files changed, 262 insertions(+), 76 deletions(-)

^ permalink raw reply	[flat|nested] 31+ messages in thread

* [Qemu-devel] [PULL 0/8] Block patches
@ 2013-04-05 13:28 Kevin Wolf
  0 siblings, 0 replies; 31+ messages in thread
From: Kevin Wolf @ 2013-04-05 13:28 UTC (permalink / raw)
  To: anthony; +Cc: kwolf, qemu-devel

The following changes since commit 162cbbd1736de2bca43fdefa7e98c54a361ee60d:

  Merge remote-tracking branch 'luiz/queue/qmp' into staging (2013-04-02 14:07:35 -0500)

are available in the git repository at:


  git://repo.or.cz/qemu/kevin.git for-anthony

for you to fetch changes up to 094e751448359417c712ed1395d151c79ccd2538:

  qcow2: Fix L1 write error handling in qcow2_update_snapshot_refcount (2013-04-05 13:17:49 +0200)

----------------------------------------------------------------
KONRAD Frederic (1):
      virtio-blk-x: fix configuration synchronization.

Kevin Wolf (3):
      usb-storage: Forward serial number to scsi-disk
      qcow2: Return real error in qcow2_update_snapshot_refcount
      qcow2: Fix L1 write error handling in qcow2_update_snapshot_refcount

Stefan Hajnoczi (4):
      block: fix I/O throttling accounting blind spot
      block: keep I/O throttling slice time constant
      block: drop duplicated slice extension code
      block: clean up I/O throttling wait_time code

 block.c                    | 49 +++++++++++++++++++++-------------------------
 block/qcow2-refcount.c     | 25 +++++++++++------------
 blockdev.c                 |  1 -
 hw/pci/pci-hotplug.c       |  2 +-
 hw/s390x/s390-virtio-bus.c |  4 ++--
 hw/s390x/s390-virtio-bus.h |  1 -
 hw/s390x/virtio-ccw.c      |  4 ++--
 hw/s390x/virtio-ccw.h      |  1 -
 hw/scsi-bus.c              |  8 ++++++--
 hw/scsi.h                  |  3 ++-
 hw/usb/dev-storage.c       |  2 +-
 hw/virtio-blk.c            |  7 -------
 hw/virtio-blk.h            |  2 --
 hw/virtio-pci.c            |  7 ++++---
 hw/virtio-pci.h            |  1 -
 include/block/block_int.h  |  3 +--
 16 files changed, 54 insertions(+), 66 deletions(-)

^ permalink raw reply	[flat|nested] 31+ messages in thread

* [Qemu-devel] [PULL 0/8] Block patches
@ 2010-05-20 13:10 Kevin Wolf
  0 siblings, 0 replies; 31+ messages in thread
From: Kevin Wolf @ 2010-05-20 13:10 UTC (permalink / raw)
  To: anthony; +Cc: kwolf, qemu-devel

Hi Anthony,

this bunch of patches contains some fixes that I think qualify for stable,
especially the first two. Please cherry-pick them into stable-0.12 when you
have pulled:

468f932 block: fix sector comparism in multiwrite_req_compare
49eb7b7 virtio-blk: fix barrier support
5fdf2a6 block: fix aio_flush segfaults for read-only protocols (e.g. curl)

Kevin


The following changes since commit 5a4bb580cdb10b066f9fd67658b31cac4a4ea5e5:
  Richard Henderson (1):
        target-sparc: Simplify ICC generation.

are available in the git repository at:

  git://repo.or.cz/qemu/kevin.git for-anthony

Avi Kivity (1):
      block: fix aio_flush segfaults for read-only protocols (e.g. curl)

Christoph Hellwig (2):
      virtio-blk: fix barrier support
      block: fix sector comparism in multiwrite_req_compare

Kevin Wolf (1):
      vvfat: More build fixes with DEBUG

Nicholas Bellinger (2):
      block: Make find_image_format() return 'raw' BlockDriver for SG_IO devices
      block: Add SG_IO device check in refresh_total_sectors()

Riccardo Magliocchetti (1):
      vvfat: Fix compilation with DEBUG defined

Stefan Hajnoczi (1):
      virtio-blk: Avoid zeroing every request structure

 aio.c           |    4 +++-
 block.c         |   23 ++++++++++++++++++++++-
 block/vvfat.c   |   10 +++++++---
 hw/virtio-blk.c |   19 ++++++++++++++++---
 4 files changed, 48 insertions(+), 8 deletions(-)

^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2019-06-24 14:52 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-07-06 14:21 [Qemu-devel] [PULL 0/8] Block patches Kevin Wolf
2011-07-06 14:21 ` [Qemu-devel] [PATCH 1/8] Documentation: Remove outdated host_device note Kevin Wolf
2011-07-06 14:21 ` [Qemu-devel] [PATCH 2/8] qemu-img: Add cache command line option Kevin Wolf
2011-07-06 14:21 ` [Qemu-devel] [PATCH 3/8] block/raw-posix: Linux compat-ioctl warning workaround Kevin Wolf
2011-07-06 14:21 ` [Qemu-devel] [PATCH 4/8] virtio-blk: Turn drive serial into a qdev property Kevin Wolf
2011-07-06 14:21 ` [Qemu-devel] [PATCH 5/8] block: drive_init(): Simplify interface type setting Kevin Wolf
2011-07-06 14:21 ` [Qemu-devel] [PATCH 6/8] block: drive_init(): Improve CHS setting error message Kevin Wolf
2011-07-06 14:21 ` [Qemu-devel] [PATCH 7/8] ide: Ignore reads during PIO in and writes during PIO out Kevin Wolf
2011-07-06 14:21 ` [Qemu-devel] [PATCH 8/8] ide: Initialise buffers with zeros Kevin Wolf
2011-07-12  9:14 ` [Qemu-devel] [PULL 0/8] Block patches Kevin Wolf
2011-07-12 13:16 ` Anthony Liguori
  -- strict thread matches above, loose matches on Subject: below --
2019-06-21 13:23 Max Reitz
2019-06-23 17:18 ` Peter Maydell
2019-06-24 12:20   ` Max Reitz
2019-06-24 13:15     ` Pino Toscano
2019-06-24 14:49       ` Max Reitz
2019-05-10 13:02 Stefan Hajnoczi
2019-05-10 14:24 ` Peter Maydell
2018-05-12  9:28 Stefan Hajnoczi
2018-05-12  9:42 ` no-reply
2018-05-14 13:15 ` Peter Maydell
2018-05-14 16:02   ` Peter Maydell
2018-05-14 17:53 ` Peter Maydell
2016-07-18 16:59 Stefan Hajnoczi
2016-07-19  8:01 ` Peter Maydell
2014-01-31 21:19 Stefan Hajnoczi
2014-02-05 16:38 ` Peter Maydell
2013-10-07 11:28 Stefan Hajnoczi
2013-07-15 11:16 Kevin Wolf
2013-04-05 13:28 Kevin Wolf
2010-05-20 13:10 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.