From patchwork Fri May 7 15:14:05 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [09/11] block: Fix protocol detection for Windows devices Date: Fri, 07 May 2010 05:14:05 -0000 From: Kevin Wolf X-Patchwork-Id: 51929 Message-Id: <1273245247-24827-10-git-send-email-kwolf@redhat.com> To: aliguori@linux.vnet.ibm.com Cc: kwolf@redhat.com, qemu-devel@nongnu.org We can't assume the file protocol for Windows devices, they need the same detection as other files for which an explicit protocol is not specified. Signed-off-by: Kevin Wolf --- block.c | 10 ++++++---- 1 files changed, 6 insertions(+), 4 deletions(-) diff --git a/block.c b/block.c index 6345599..977d01f 100644 --- a/block.c +++ b/block.c @@ -287,16 +287,18 @@ static BlockDriver *find_protocol(const char *filename) char protocol[128]; int len; const char *p; + int is_drive; /* TODO Drivers without bdrv_file_open must be specified explicitly */ #ifdef _WIN32 - if (is_windows_drive(filename) || - is_windows_drive_prefix(filename)) - return bdrv_find_format("file"); + is_drive = is_windows_drive(filename) || + is_windows_drive_prefix(filename); +#else + is_drive = 0; #endif p = strchr(filename, ':'); - if (!p) { + if (!p || is_drive) { drv1 = find_hdev_driver(filename); if (!drv1) { drv1 = bdrv_find_format("file");