Commit 795c050e authored by Peter Maydell's avatar Peter Maydell
Browse files

Merge remote-tracking branch...


Merge remote-tracking branch 'remotes/stefanha/tags/fix-buildbot-12082014-pull-request' into staging

Pull request

# gpg: Signature made Thu 28 Aug 2014 13:43:00 BST using RSA key ID 81AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>"
# gpg:                 aka "Stefan Hajnoczi <stefanha@gmail.com>"

* remotes/stefanha/tags/fix-buildbot-12082014-pull-request:
  Revert "qemu-img: sort block formats in help message"
  block: sort formats alphabetically in bdrv_iterate_format()
  mirror: fix uninitialized variable delay_ns warnings
  trace: avoid Python 2.5 all() in tracetool
  libqtest: launch QEMU with QEMU_AUDIO_DRV=none
  qapi.py: avoid Python 2.5+ any() function

Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
parents 0265361a 00c6d403
Loading
Loading
Loading
Loading
+13 −1
Original line number Diff line number Diff line
@@ -3744,11 +3744,17 @@ const char *bdrv_get_format_name(BlockDriverState *bs)
    return bs->drv ? bs->drv->format_name : NULL;
}

static int qsort_strcmp(const void *a, const void *b)
{
    return strcmp(a, b);
}

void bdrv_iterate_format(void (*it)(void *opaque, const char *name),
                         void *opaque)
{
    BlockDriver *drv;
    int count = 0;
    int i;
    const char **formats = NULL;

    QLIST_FOREACH(drv, &bdrv_drivers, list) {
@@ -3762,10 +3768,16 @@ void bdrv_iterate_format(void (*it)(void *opaque, const char *name),
            if (!found) {
                formats = g_renew(const char *, formats, count + 1);
                formats[count++] = drv->format_name;
                it(opaque, drv->format_name);
            }
        }
    }

    qsort(formats, count, sizeof(formats[0]), qsort_strcmp);

    for (i = 0; i < count; i++) {
        it(opaque, formats[i]);
    }

    g_free(formats);
}

+1 −3
Original line number Diff line number Diff line
@@ -157,7 +157,7 @@ static uint64_t coroutine_fn mirror_iteration(MirrorBlockJob *s)
    BlockDriverState *source = s->common.bs;
    int nb_sectors, sectors_per_chunk, nb_chunks;
    int64_t end, sector_num, next_chunk, next_sector, hbitmap_next_sector;
    uint64_t delay_ns;
    uint64_t delay_ns = 0;
    MirrorOp *op;

    s->sector_num = hbitmap_iter_next(&s->hbi);
@@ -247,8 +247,6 @@ static uint64_t coroutine_fn mirror_iteration(MirrorBlockJob *s)
        next_chunk += added_chunks;
        if (!s->synced && s->common.speed) {
            delay_ns = ratelimit_calculate_delay(&s->limit, added_sectors);
        } else {
            delay_ns = 0;
        }
    } while (delay_ns == 0 && next_sector < end);

+3 −22
Original line number Diff line number Diff line
@@ -32,7 +32,6 @@
#include "block/block_int.h"
#include "block/qapi.h"
#include <getopt.h>
#include <glib.h>

#define QEMU_IMG_VERSION "qemu-img version " QEMU_VERSION \
                          ", Copyright (c) 2004-2008 Fabrice Bellard\n"
@@ -56,22 +55,9 @@ typedef enum OutputFormat {
#define BDRV_O_FLAGS BDRV_O_CACHE_WB
#define BDRV_DEFAULT_CACHE "writeback"

static gint compare_data(gconstpointer a, gconstpointer b, gpointer user)
static void format_print(void *opaque, const char *name)
{
    return g_strcmp0(a, b);
}

static void print_format(gpointer data, gpointer user)
{
    printf(" %s", (char *)data);
}

static void add_format_to_seq(void *opaque, const char *fmt_name)
{
    GSequence *seq = opaque;

    g_sequence_insert_sorted(seq, (gpointer)fmt_name,
                             compare_data, NULL);
    printf(" %s", name);
}

static void QEMU_NORETURN GCC_FMT_ATTR(1, 2) error_exit(const char *fmt, ...)
@@ -157,15 +143,10 @@ static void QEMU_NORETURN help(void)
           "  '-f' first image format\n"
           "  '-F' second image format\n"
           "  '-s' run in Strict mode - fail on different image size or sector allocation\n";
    GSequence *seq;

    printf("%s\nSupported formats:", help_msg);
    seq = g_sequence_new(NULL);
    bdrv_iterate_format(add_format_to_seq, seq);
    g_sequence_foreach(seq, print_format, NULL);
    bdrv_iterate_format(format_print, NULL);
    printf("\n");
    g_sequence_free(seq);

    exit(EXIT_SUCCESS);
}

+4 −4
Original line number Diff line number Diff line
@@ -107,8 +107,8 @@ class QAPISchema:
                                        'Expected a file name (string), got: %s'
                                        % include)
                include_path = os.path.join(self.input_dir, include)
                if any(include_path == elem[1]
                       for elem in self.include_hist):
                for elem in self.include_hist:
                    if include_path == elem[1]:
                        raise QAPIExprError(expr_info, "Inclusion loop for %s"
                                            % include)
                # skip multiple include of the same file
+2 −1
Original line number Diff line number Diff line
@@ -102,7 +102,8 @@ class Wrapper:
    def __init__(self, backends, format):
        self._backends = [backend.replace("-", "_") for backend in backends]
        self._format = format.replace("-", "_")
        assert all(exists(backend) for backend in self._backends)
        for backend in self._backends:
            assert exists(backend)
        assert tracetool.format.exists(self._format)

    def _run_function(self, name, *args, **kwargs):
Loading