Patchwork [3/4] block: Use new error code for wrong format in selected block drivers

login
register
mail settings
Submitter Stefan Weil
Date Dec. 15, 2012, 2:09 p.m.
Message ID <1355580573-19323-4-git-send-email-sw@weilnetz.de>
Download mbox | patch
Permalink /patch/206621/
State Superseded
Headers show

Comments

Stefan Weil - Dec. 15, 2012, 2:09 p.m.
This improves error reports for bochs, cow, qcow, qcow2, qed and vmdk
when a file with the wrong format is selected.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
---
 block/bochs.c |    2 +-
 block/cow.c   |    2 +-
 block/qcow.c  |    2 +-
 block/qcow2.c |    2 +-
 block/qed.c   |    2 +-
 block/vmdk.c  |    4 ++--
 6 files changed, 7 insertions(+), 7 deletions(-)
Don Slutz - Dec. 15, 2012, 3:54 p.m.
On 12/15/12 09:09, Stefan Weil wrote:
> This improves error reports for bochs, cow, qcow, qcow2, qed and vmdk
> when a file with the wrong format is selected.
>
> Signed-off-by: Stefan Weil <sw@weilnetz.de>
> ---
>   block/bochs.c |    2 +-
>   block/cow.c   |    2 +-
>   block/qcow.c  |    2 +-
>   block/qcow2.c |    2 +-
>   block/qed.c   |    2 +-
>   block/vmdk.c  |    4 ++--
>   6 files changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/block/bochs.c b/block/bochs.c
> index ab7944d..063dc3f 100644
> --- a/block/bochs.c
> +++ b/block/bochs.c
> @@ -126,7 +126,7 @@ static int bochs_open(BlockDriverState *bs, int flags)
>           strcmp(bochs.subtype, GROWING_TYPE) ||
>   	((le32_to_cpu(bochs.version) != HEADER_VERSION) &&
>   	(le32_to_cpu(bochs.version) != HEADER_V1))) {
> -        goto fail;
> +        return BDRV_WRONG_FORMAT;
As far as I can tell, all "goto fail" are this error, and so the
  fail:
     return -1;
Is what should be changed.
>       }
>   
>       if (le32_to_cpu(bochs.version) == HEADER_V1) {
> diff --git a/block/cow.c b/block/cow.c
> index a5a00eb..7ae5ddc 100644
> --- a/block/cow.c
> +++ b/block/cow.c
> @@ -73,7 +73,7 @@ static int cow_open(BlockDriverState *bs, int flags)
>       }
>   
>       if (be32_to_cpu(cow_header.magic) != COW_MAGIC) {
> -        ret = -EINVAL;
> +        ret = BDRV_WRONG_FORMAT;
>           goto fail;
>       }
>   
> diff --git a/block/qcow.c b/block/qcow.c
> index b239c82..d1be009 100644
> --- a/block/qcow.c
> +++ b/block/qcow.c
> @@ -112,7 +112,7 @@ static int qcow_open(BlockDriverState *bs, int flags)
>       be64_to_cpus(&header.l1_table_offset);
>   
>       if (header.magic != QCOW_MAGIC) {
> -        ret = -EINVAL;
> +        ret = BDRV_WRONG_FORMAT;
>           goto fail;
>       }
>       if (header.version != QCOW_VERSION) {
> diff --git a/block/qcow2.c b/block/qcow2.c
> index 8520bda..f22e387 100644
> --- a/block/qcow2.c
> +++ b/block/qcow2.c
> @@ -311,7 +311,7 @@ static int qcow2_open(BlockDriverState *bs, int flags)
>       be32_to_cpus(&header.nb_snapshots);
>   
>       if (header.magic != QCOW_MAGIC) {
> -        ret = -EINVAL;
> +        ret = BDRV_WRONG_FORMAT;
>           goto fail;
>       }
>       if (header.version < 2 || header.version > 3) {
> diff --git a/block/qed.c b/block/qed.c
> index 0b5374a..58bd35c 100644
> --- a/block/qed.c
> +++ b/block/qed.c
> @@ -390,7 +390,7 @@ static int bdrv_qed_open(BlockDriverState *bs, int flags)
>       qed_header_le_to_cpu(&le_header, &s->header);
>   
>       if (s->header.magic != QED_MAGIC) {
> -        return -EINVAL;
> +        return BDRV_WRONG_FORMAT;
>       }
>       if (s->header.features & ~QED_FEATURE_MASK) {
>           /* image uses unsupported feature bits */
> diff --git a/block/vmdk.c b/block/vmdk.c
> index 51398c0..931ffbc 100644
> --- a/block/vmdk.c
> +++ b/block/vmdk.c
> @@ -616,7 +616,7 @@ static int vmdk_open_sparse(BlockDriverState *bs,
>               return vmdk_open_vmdk4(bs, file, flags);
>               break;
>           default:
> -            return -EINVAL;
> +            return BDRV_WRONG_FORMAT;
>               break;
>       }
>   }
> @@ -718,7 +718,7 @@ static int vmdk_open_desc_file(BlockDriverState *bs, int flags,
>       }
>       buf[2047] = '\0';
>       if (vmdk_parse_description(buf, "createType", ct, sizeof(ct))) {
> -        return -EINVAL;
> +        return BDRV_WRONG_FORMAT;
>       }
>       if (strcmp(ct, "monolithicFlat") &&
>           strcmp(ct, "twoGbMaxExtentSparse") &&
    -Don Slutz

Patch

diff --git a/block/bochs.c b/block/bochs.c
index ab7944d..063dc3f 100644
--- a/block/bochs.c
+++ b/block/bochs.c
@@ -126,7 +126,7 @@  static int bochs_open(BlockDriverState *bs, int flags)
         strcmp(bochs.subtype, GROWING_TYPE) ||
 	((le32_to_cpu(bochs.version) != HEADER_VERSION) &&
 	(le32_to_cpu(bochs.version) != HEADER_V1))) {
-        goto fail;
+        return BDRV_WRONG_FORMAT;
     }
 
     if (le32_to_cpu(bochs.version) == HEADER_V1) {
diff --git a/block/cow.c b/block/cow.c
index a5a00eb..7ae5ddc 100644
--- a/block/cow.c
+++ b/block/cow.c
@@ -73,7 +73,7 @@  static int cow_open(BlockDriverState *bs, int flags)
     }
 
     if (be32_to_cpu(cow_header.magic) != COW_MAGIC) {
-        ret = -EINVAL;
+        ret = BDRV_WRONG_FORMAT;
         goto fail;
     }
 
diff --git a/block/qcow.c b/block/qcow.c
index b239c82..d1be009 100644
--- a/block/qcow.c
+++ b/block/qcow.c
@@ -112,7 +112,7 @@  static int qcow_open(BlockDriverState *bs, int flags)
     be64_to_cpus(&header.l1_table_offset);
 
     if (header.magic != QCOW_MAGIC) {
-        ret = -EINVAL;
+        ret = BDRV_WRONG_FORMAT;
         goto fail;
     }
     if (header.version != QCOW_VERSION) {
diff --git a/block/qcow2.c b/block/qcow2.c
index 8520bda..f22e387 100644
--- a/block/qcow2.c
+++ b/block/qcow2.c
@@ -311,7 +311,7 @@  static int qcow2_open(BlockDriverState *bs, int flags)
     be32_to_cpus(&header.nb_snapshots);
 
     if (header.magic != QCOW_MAGIC) {
-        ret = -EINVAL;
+        ret = BDRV_WRONG_FORMAT;
         goto fail;
     }
     if (header.version < 2 || header.version > 3) {
diff --git a/block/qed.c b/block/qed.c
index 0b5374a..58bd35c 100644
--- a/block/qed.c
+++ b/block/qed.c
@@ -390,7 +390,7 @@  static int bdrv_qed_open(BlockDriverState *bs, int flags)
     qed_header_le_to_cpu(&le_header, &s->header);
 
     if (s->header.magic != QED_MAGIC) {
-        return -EINVAL;
+        return BDRV_WRONG_FORMAT;
     }
     if (s->header.features & ~QED_FEATURE_MASK) {
         /* image uses unsupported feature bits */
diff --git a/block/vmdk.c b/block/vmdk.c
index 51398c0..931ffbc 100644
--- a/block/vmdk.c
+++ b/block/vmdk.c
@@ -616,7 +616,7 @@  static int vmdk_open_sparse(BlockDriverState *bs,
             return vmdk_open_vmdk4(bs, file, flags);
             break;
         default:
-            return -EINVAL;
+            return BDRV_WRONG_FORMAT;
             break;
     }
 }
@@ -718,7 +718,7 @@  static int vmdk_open_desc_file(BlockDriverState *bs, int flags,
     }
     buf[2047] = '\0';
     if (vmdk_parse_description(buf, "createType", ct, sizeof(ct))) {
-        return -EINVAL;
+        return BDRV_WRONG_FORMAT;
     }
     if (strcmp(ct, "monolithicFlat") &&
         strcmp(ct, "twoGbMaxExtentSparse") &&