.name = "null",
.head = QTAILQ_HEAD_INITIALIZER(runtime_opts.head),
.desc = {
- {
- .name = "filename",
- .type = QEMU_OPT_STRING,
- .help = "",
- },
{
.name = BLOCK_OPT_SIZE,
.type = QEMU_OPT_SIZE,
},
};
+static void null_co_parse_filename(const char *filename, QDict *options,
+ Error **errp)
+{
+ /* This functions only exists so that a null-co:// filename is accepted
+ * with the null-co driver. */
+ if (strcmp(filename, "null-co://")) {
+ error_setg(errp, "The only allowed filename for this driver is "
+ "'null-co://'");
+ return;
+ }
+}
+
+static void null_aio_parse_filename(const char *filename, QDict *options,
+ Error **errp)
+{
+ /* This functions only exists so that a null-aio:// filename is accepted
+ * with the null-aio driver. */
+ if (strcmp(filename, "null-aio://")) {
+ error_setg(errp, "The only allowed filename for this driver is "
+ "'null-aio://'");
+ return;
+ }
+}
+
static int null_file_open(BlockDriverState *bs, QDict *options, int flags,
Error **errp)
{
.instance_size = sizeof(BDRVNullState),
.bdrv_file_open = null_file_open,
+ .bdrv_parse_filename = null_co_parse_filename,
.bdrv_close = null_close,
.bdrv_getlength = null_getlength,
.instance_size = sizeof(BDRVNullState),
.bdrv_file_open = null_file_open,
+ .bdrv_parse_filename = null_aio_parse_filename,
.bdrv_close = null_close,
.bdrv_getlength = null_getlength,
drive_args.append("stats-account-failed=%s" %
(self.account_failed and "on" or "off"))
self.create_blkdebug_file()
- self.vm = iotests.VM().add_drive('blkdebug:%s:%s ' %
+ self.vm = iotests.VM().add_drive('blkdebug:%s:%s' %
(blkdebug_file, self.test_img),
','.join(drive_args))
self.vm.launch()