diff mbox

[4/5] block/raw-posix: Strip protocol prefix on creation

Message ID 1394144861-2403-1-git-send-email-mreitz@redhat.com
State New
Headers show

Commit Message

Max Reitz March 6, 2014, 10:27 p.m. UTC
The hdev_create() implementation in block/raw-posix.c is used by the
"host_device", "host_cdrom" and "host_floppy" protocol block drivers
together. Thus, it any of the associated prefixes may occur and exactly
one should be stripped, if it does (thus,
"host_device:host_cdrom:/dev/cdrom" is not shortened to "/dev/cdrom").

Signed-off-by: Max Reitz <mreitz@redhat.com>
---
 block/raw-posix.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

Comments

Max Reitz March 6, 2014, 10:37 p.m. UTC | #1
Sorry for the duplicate 4/5 and the wrong in-reply-to for 5/5, but I 
deduced from the send-email output that 4/5 failed to send (and 5/5 
wasn't even attempted) and forgot --no-thread for the resend of 4 and 5.

Max


On 06.03.2014 23:27, Max Reitz wrote:
> The hdev_create() implementation in block/raw-posix.c is used by the
> "host_device", "host_cdrom" and "host_floppy" protocol block drivers
> together. Thus, it any of the associated prefixes may occur and exactly
> one should be stripped, if it does (thus,
> "host_device:host_cdrom:/dev/cdrom" is not shortened to "/dev/cdrom").
>
> Signed-off-by: Max Reitz <mreitz@redhat.com>
> ---
>   block/raw-posix.c | 12 ++++++++++++
>   1 file changed, 12 insertions(+)
>
> diff --git a/block/raw-posix.c b/block/raw-posix.c
> index 6c9b8f2..598d736 100644
> --- a/block/raw-posix.c
> +++ b/block/raw-posix.c
> @@ -1776,6 +1776,18 @@ static int hdev_create(const char *filename, QEMUOptionParameter *options,
>       int ret = 0;
>       struct stat stat_buf;
>       int64_t total_size = 0;
> +    bool has_prefix;
> +
> +    /* This function is used by all three protocol block drivers and therefore
> +     * any of these three prefixes may be given.
> +     * The return value has to be stored somewhere, otherwise this is an error
> +     * due to -Werror=unused-value. */
> +    has_prefix =
> +        strstart(filename, "host_device:", &filename) ||
> +        strstart(filename, "host_cdrom:" , &filename) ||
> +        strstart(filename, "host_floppy:", &filename);
> +
> +    (void)has_prefix;
>   
>       /* Read out options */
>       while (options && options->name) {
diff mbox

Patch

diff --git a/block/raw-posix.c b/block/raw-posix.c
index 6c9b8f2..598d736 100644
--- a/block/raw-posix.c
+++ b/block/raw-posix.c
@@ -1776,6 +1776,18 @@  static int hdev_create(const char *filename, QEMUOptionParameter *options,
     int ret = 0;
     struct stat stat_buf;
     int64_t total_size = 0;
+    bool has_prefix;
+
+    /* This function is used by all three protocol block drivers and therefore
+     * any of these three prefixes may be given.
+     * The return value has to be stored somewhere, otherwise this is an error
+     * due to -Werror=unused-value. */
+    has_prefix =
+        strstart(filename, "host_device:", &filename) ||
+        strstart(filename, "host_cdrom:" , &filename) ||
+        strstart(filename, "host_floppy:", &filename);
+
+    (void)has_prefix;
 
     /* Read out options */
     while (options && options->name) {