[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2] block: Fix the use of protocols in backing files
From: |
Stefan Hajnoczi |
Subject: |
[Qemu-devel] [PATCH v2] block: Fix the use of protocols in backing files |
Date: |
Thu, 2 Dec 2010 16:54:13 +0000 |
Backing filenames may contain a protocol. The code currently doesn't
consider this case and produces filenames that embed "<protocol>:".
Don't combine filenames if the backing filename contains a protocol.
Based on an earlier patch by Anthony Liguori <address@hidden>.
Signed-off-by: Stefan Hajnoczi <address@hidden>
---
block.c | 14 +++++++++++---
1 files changed, 11 insertions(+), 3 deletions(-)
v2:
* Make backing_format + protocol work
diff --git a/block.c b/block.c
index 59b69e4..de13d1f 100644
--- a/block.c
+++ b/block.c
@@ -611,10 +611,18 @@ int bdrv_open(BlockDriverState *bs, const char *filename,
int flags,
BlockDriver *back_drv = NULL;
bs->backing_hd = bdrv_new("");
- path_combine(backing_filename, sizeof(backing_filename),
- filename, bs->backing_file);
- if (bs->backing_format[0] != '\0')
+
+ if (path_has_protocol(bs->backing_file)) {
+ pstrcpy(backing_filename, sizeof(backing_filename),
+ bs->backing_file);
+ } else {
+ path_combine(backing_filename, sizeof(backing_filename),
+ filename, bs->backing_file);
+ }
+
+ if (bs->backing_format[0] != '\0') {
back_drv = bdrv_find_format(bs->backing_format);
+ }
/* backing files always opened read-only */
back_flags =
--
1.7.2.3
- [Qemu-devel] [PATCH v2] block: Fix the use of protocols in backing files,
Stefan Hajnoczi <=