#include "block/block_int.h"
#include "trace/control.h"
#include "crypto/init.h"
+#include "qemu-version.h"
#define CMD_NOFILE_OK 0x01
QDict *opts)
{
Error *local_err = NULL;
- BlockDriverState *bs;
if (qemuio_blk) {
error_report("file open already, try 'help close'");
QDECREF(opts);
return 1;
}
- qdict_put(opts, BDRV_OPT_FORCE_SHARE, qbool_from_bool(true));
+ qdict_put_bool(opts, BDRV_OPT_FORCE_SHARE, true);
}
qemuio_blk = blk_new_open(name, NULL, opts, flags, &local_err);
if (!qemuio_blk) {
return 1;
}
- bs = blk_bs(qemuio_blk);
- if (bdrv_is_encrypted(bs) && bdrv_key_required(bs)) {
- char password[256];
- printf("Disk image '%s' is encrypted.\n", name);
- if (qemu_read_password(password, sizeof(password)) < 0) {
- error_report("No password given");
- goto error;
- }
- if (bdrv_set_key(bs, password) < 0) {
- error_report("invalid password");
- goto error;
- }
- }
-
blk_set_enable_write_cache(qemuio_blk, !writethrough);
return 0;
-
- error:
- blk_unref(qemuio_blk);
- qemuio_blk = NULL;
- return 1;
}
static void open_help(void)
qemu_opts_reset(&empty_opts);
if (optind == argc - 1) {
- return openfile(argv[optind], flags, writethrough, force_share, opts);
+ openfile(argv[optind], flags, writethrough, force_share, opts);
} else if (optind == argc) {
- return openfile(NULL, flags, writethrough, force_share, opts);
+ openfile(NULL, flags, writethrough, force_share, opts);
} else {
QDECREF(opts);
- return qemuio_command_usage(&open_cmd);
+ qemuio_command_usage(&open_cmd);
}
+ return 0;
}
static int quit_f(BlockBackend *blk, int argc, char **argv)
" -h, --help display this help and exit\n"
" -V, --version output version information and exit\n"
"\n"
-"See '%s -c help' for information on available commands."
-"\n",
+"See '%s -c help' for information on available commands.\n"
+"\n"
+QEMU_HELP_BOTTOM "\n",
name, name);
}
trace_file = trace_opt_parse(optarg);
break;
case 'V':
- printf("%s version %s\n", progname, QEMU_VERSION);
+ printf("%s version " QEMU_VERSION QEMU_PKGVERSION "\n"
+ QEMU_COPYRIGHT "\n", progname);
exit(0);
case 'h':
usage(progname);