diff mbox

[v5,02/22] blkdebug: Don't require sophisticated filename

Message ID 1386954633-28905-3-git-send-email-mreitz@redhat.com
State New
Headers show

Commit Message

Max Reitz Dec. 13, 2013, 5:10 p.m. UTC
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>
---
 block/blkdebug.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Kevin Wolf Dec. 13, 2013, 7 p.m. UTC | #1
Am 13.12.2013 um 18:10 hat Max Reitz geschrieben:
> 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>

x-image must die, but why not, as an intermediate step.

Reviewed-by: Kevin Wolf <kwolf@redhat.com>
diff mbox

Patch

diff --git a/block/blkdebug.c b/block/blkdebug.c
index 627e29d..a2301d7 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;
     }