aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Reitz <mreitz@redhat.com>2013-12-20 19:28:02 +0100
committerKevin Wolf <kwolf@redhat.com>2014-01-22 12:07:17 +0100
commitd4881b9bcbbadc83ffa5d8e6d2d6deb36cd8faa6 (patch)
tree73a27ef9b1d941e1351dfc5ef7c67fccc2f4d5c1
parent466b49f276310952ad64485d8b9fa87a5c8a9451 (diff)
blkdebug: Don't require sophisticated filename
If the filename is not prefixed by "blkdebug:" in blkdebug_parse_filename(), the blkdebug driver was not selected through that protocol prefix, but by an explicit command line option (file.driver=blkdebug or something similar). Contrary to the current reaction, this is not a problem at all; we just need to store the filename (in the x-image option) and can go on; the user just has to manually specify the config option. Signed-off-by: Max Reitz <mreitz@redhat.com> Reviewed-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
-rw-r--r--block/blkdebug.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/block/blkdebug.c b/block/blkdebug.c
index 2eb2e8beb0..fab76ceb74 100644
--- a/block/blkdebug.c
+++ b/block/blkdebug.c
@@ -313,7 +313,9 @@ static void blkdebug_parse_filename(const char *filename, QDict *options,
/* Parse the blkdebug: prefix */
if (!strstart(filename, "blkdebug:", &filename)) {
- error_setg(errp, "File name string must start with 'blkdebug:'");
+ /* There was no prefix; therefore, all options have to be already
+ present in the QDict (except for the filename) */
+ qdict_put(options, "x-image", qstring_from_str(filename));
return;
}