blockdev: Make -drive format=help print to stdout

Command line help explicitly requested by the user should be printed
to stdout, not stderr.  We do elsewhere.  Adjust -drive to match: use
qemu_printf() instead of error_printf().  Plain printf() would be
wrong because we need to print to the current monitor for "drive_add
... format=help".

Cc: Kevin Wolf <kwolf@redhat.com>
Cc: Max Reitz <mreitz@redhat.com>
Cc: qemu-block@nongnu.org
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20190417190641.26814-13-armbru@redhat.com>
This commit is contained in:
Markus Armbruster 2019-04-17 21:06:38 +02:00
parent 637de4dba2
commit cdcd436120

View File

@ -40,6 +40,7 @@
#include "monitor/monitor.h"
#include "qemu/error-report.h"
#include "qemu/option.h"
#include "qemu/qemu-print.h"
#include "qemu/config-file.h"
#include "qapi/qapi-commands-block.h"
#include "qapi/qapi-commands-transaction.h"
@ -301,7 +302,7 @@ DriveInfo *drive_get_next(BlockInterfaceType type)
static void bdrv_format_print(void *opaque, const char *name)
{
error_printf(" %s", name);
qemu_printf(" %s", name);
}
typedef struct {
@ -530,11 +531,11 @@ static BlockBackend *blockdev_init(const char *file, QDict *bs_opts,
if ((buf = qemu_opt_get(opts, "format")) != NULL) {
if (is_help_option(buf)) {
error_printf("Supported formats:");
qemu_printf("Supported formats:");
bdrv_iterate_format(bdrv_format_print, NULL, false);
error_printf("\nSupported formats (read-only):");
qemu_printf("\nSupported formats (read-only):");
bdrv_iterate_format(bdrv_format_print, NULL, true);
error_printf("\n");
qemu_printf("\n");
goto early_err;
}