qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] block: allow filenames with colons again for host devices
@ 2010-06-23 10:25 Christoph Hellwig
  2010-06-23 11:01 ` Kevin Wolf
  0 siblings, 1 reply; 2+ messages in thread
From: Christoph Hellwig @ 2010-06-23 10:25 UTC (permalink / raw)
  To: qemu-devel

Before the raw/file split we used to allow filenames with colons for host
device only.  While this was more by accident than by design people rely
on it, so we need to bring it back.

So move the host device probing to be before the protocol detection
again.

Signed-off-by: Christoph Hellwig <hch@lst.de>

Index: qemu/block.c
===================================================================
--- qemu.orig/block.c	2010-06-23 12:16:52.599254111 +0200
+++ qemu/block.c	2010-06-23 12:20:31.423254251 +0200
@@ -288,23 +288,30 @@ BlockDriver *bdrv_find_protocol(const ch
     char protocol[128];
     int len;
     const char *p;
-    int is_drive;
 
     /* TODO Drivers without bdrv_file_open must be specified explicitly */
 
+    /*
+     * XXX(hch): we really should not let host device detection
+     * override an explicit protocol specification, but moving this
+     * later breaks access to device names with colons in them.
+     * Thanks to the brain-dead persistent naming schemes on udev-
+     * based Linux systems those actually are quite common.
+     */
+    drv1 = find_hdev_driver(filename);
+    if (drv1) {
+        return drv1;
+    }
+
 #ifdef _WIN32
-    is_drive = is_windows_drive(filename) ||
-        is_windows_drive_prefix(filename);
-#else
-    is_drive = 0;
+     if (is_windows_drive(filename) ||
+         is_windows_drive_prefix(filename))
+         return bdrv_find_format("file");
 #endif
+
     p = strchr(filename, ':');
-    if (!p || is_drive) {
-        drv1 = find_hdev_driver(filename);
-        if (!drv1) {
-            drv1 = bdrv_find_format("file");
-        }
-        return drv1;
+    if (!p) {
+        return bdrv_find_format("file");
     }
     len = p - filename;
     if (len > sizeof(protocol) - 1)

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [Qemu-devel] [PATCH] block: allow filenames with colons again for host devices
  2010-06-23 10:25 [Qemu-devel] [PATCH] block: allow filenames with colons again for host devices Christoph Hellwig
@ 2010-06-23 11:01 ` Kevin Wolf
  0 siblings, 0 replies; 2+ messages in thread
From: Kevin Wolf @ 2010-06-23 11:01 UTC (permalink / raw)
  To: Christoph Hellwig; +Cc: qemu-devel

Am 23.06.2010 12:25, schrieb Christoph Hellwig:
> Before the raw/file split we used to allow filenames with colons for host
> device only.  While this was more by accident than by design people rely
> on it, so we need to bring it back.
> 
> So move the host device probing to be before the protocol detection
> again.
> 
> Signed-off-by: Christoph Hellwig <hch@lst.de>

Thanks, applied to the block branch.

Kevin

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2010-06-23 11:01 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-06-23 10:25 [Qemu-devel] [PATCH] block: allow filenames with colons again for host devices Christoph Hellwig
2010-06-23 11:01 ` Kevin Wolf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).