summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis V. Lunev <den@openvz.org>2014-07-28 20:23:54 +0400
committerStefan Hajnoczi <stefanha@redhat.com>2014-08-15 18:03:13 +0100
commit418a7adb77abbbc09a17d5626cbaa5e9e54be709 (patch)
treed48a5d7e6a1d504dc80563f4cce003bdbd1d6d75
parentf08e2f8465197c65c61b1ab1e0df3cdef4d8567c (diff)
downloadqemu-418a7adb77abbbc09a17d5626cbaa5e9e54be709.tar.gz
parallels: split check for parallels format in parallels_open
and rework error path a bit. There is no difference at the moment, but the code will be definitely shorter when additional processing will be required for WithouFreSpacExt Signed-off-by: Denis V. Lunev <den@openvz.org> CC: Jeff Cody <jcody@redhat.com> CC: Kevin Wolf <kwolf@redhat.com> CC: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: Jeff Cody <jcody@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
-rw-r--r--block/parallels.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/block/parallels.c b/block/parallels.c
index e0cf1d991f..f9e18b4537 100644
--- a/block/parallels.c
+++ b/block/parallels.c
@@ -85,11 +85,11 @@ static int parallels_open(BlockDriverState *bs, QDict *options, int flags,
goto fail;
}
- if (memcmp(ph.magic, HEADER_MAGIC, 16) ||
- (le32_to_cpu(ph.version) != HEADER_VERSION)) {
- error_setg(errp, "Image not in Parallels format");
- ret = -EINVAL;
- goto fail;
+ if (le32_to_cpu(ph.version) != HEADER_VERSION) {
+ goto fail_format;
+ }
+ if (memcmp(ph.magic, HEADER_MAGIC, 16)) {
+ goto fail_format;
}
bs->total_sectors = 0xffffffff & le64_to_cpu(ph.nb_sectors);
@@ -124,6 +124,9 @@ static int parallels_open(BlockDriverState *bs, QDict *options, int flags,
qemu_co_mutex_init(&s->lock);
return 0;
+fail_format:
+ error_setg(errp, "Image not in Parallels format");
+ ret = -EINVAL;
fail:
g_free(s->catalog_bitmap);
return ret;