WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] [PATCH 1 of 4] tools/blktap2: push uuid wrapper functions do

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] [PATCH 1 of 4] tools/blktap2: push uuid wrapper functions down into libvhd
From: Ian Campbell <ian.campbell@xxxxxxxxxx>
Date: Tue, 15 Mar 2011 16:16:04 +0000
Cc: Ian Campbell <ian.campbell@xxxxxxxxxx>
Delivery-date: Tue, 15 Mar 2011 09:18:15 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <patchbomb.1300205763@xxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Ian Campbell <ian.campbell@xxxxxxxxxx>
# Date 1300201970 0
# Node ID 83a1d6598fa3617085baecec1cda1e4caa518c92
# Parent  452c744798f4bb73d9a2286ac03971a48ab275a1
tools/blktap2: push uuid wrapper functions down into libvhd.

Nothing else uses them.

Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>

diff -r 452c744798f4 -r 83a1d6598fa3 tools/blktap2/drivers/block-vhd.c
--- a/tools/blktap2/drivers/block-vhd.c Tue Mar 15 14:42:17 2011 +0000
+++ b/tools/blktap2/drivers/block-vhd.c Tue Mar 15 15:12:50 2011 +0000
@@ -807,7 +807,7 @@ vhd_validate_parent(td_driver_t *child_d
        }
        */
 
-       if (blk_uuid_compare(&child->vhd.header.prt_uuid, 
&parent->vhd.footer.uuid)) {
+       if (vhd_uuid_compare(&child->vhd.header.prt_uuid, 
&parent->vhd.footer.uuid)) {
                DPRINTF("ERROR: %s: %s, %s: parent uuid has changed since "
                        "snapshot.  Child image no longer valid.\n",
                        __func__, child->vhd.file, parent->vhd.file);
diff -r 452c744798f4 -r 83a1d6598fa3 tools/blktap2/include/blk_uuid.h
--- a/tools/blktap2/include/blk_uuid.h  Tue Mar 15 14:42:17 2011 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,130 +0,0 @@
-/* Copyright (c) 2008, XenSource Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *     * Redistributions of source code must retain the above copyright
- *       notice, this list of conditions and the following disclaimer.
- *     * Redistributions in binary form must reproduce the above copyright
- *       notice, this list of conditions and the following disclaimer in the
- *       documentation and/or other materials provided with the distribution.
- *     * Neither the name of XenSource Inc. nor the names of its contributors
- *       may be used to endorse or promote products derived from this software
- *       without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
- * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-#ifndef __BLKTAP2_UUID_H__
-#define __BLKTAP2_UUID_H__
-
-#if defined(__linux__)
-
-#include <uuid/uuid.h>
-
-typedef struct {
-    uuid_t uuid;
-} blk_uuid_t;
-
-static inline int blk_uuid_is_nil(blk_uuid_t *uuid)
-{
-       return uuid_is_null(uuid->uuid);
-}
-
-static inline void blk_uuid_generate(blk_uuid_t *uuid)
-{
-       uuid_generate(uuid->uuid);
-}
-
-static inline void blk_uuid_to_string(blk_uuid_t *uuid, char *out, size_t size)
-{
-       uuid_unparse(uuid->uuid, out);
-}
-
-static inline void blk_uuid_from_string(blk_uuid_t *uuid, const char *in)
-{
-       uuid_parse(in, uuid->uuid);
-}
-
-static inline void blk_uuid_copy(blk_uuid_t *dst, blk_uuid_t *src)
-{
-       uuid_copy(dst->uuid, src->uuid);
-}
-
-static inline void blk_uuid_clear(blk_uuid_t *uuid)
-{
-       uuid_clear(uuid->uuid);
-}
-
-static inline int blk_uuid_compare(blk_uuid_t *uuid1, blk_uuid_t *uuid2)
-{
-       return uuid_compare(uuid1->uuid, uuid2->uuid);
-}
-
-#elif defined(__NetBSD__)
-
-#include <uuid.h>
-#include <string.h>
-#include <stdlib.h>
-
-typedef uuid_t blk_uuid_t;
-
-static inline int blk_uuid_is_nil(blk_uuid_t *uuid)
-{
-       uint32_t status;
-       return uuid_is_nil((uuid_t *)uuid, &status);
-}
-
-static inline void blk_uuid_generate(blk_uuid_t *uuid)
-{
-       uint32_t status;
-       uuid_create((uuid_t *)uuid, &status);
-}
-
-static inline void blk_uuid_to_string(blk_uuid_t *uuid, char *out, size_t size)
-{
-       uint32_t status;
-       char *_out = NULL;
-       uuid_to_string((uuid_t *)uuid, &_out, &status);
-       strlcpy(out, _out, size);
-       free(_out);
-}
-
-static inline void blk_uuid_from_string(blk_uuid_t *uuid, const char *in)
-{
-       uint32_t status;
-       uuid_from_string(in, (uuid_t *)uuid, &status);
-}
-
-static inline void blk_uuid_copy(blk_uuid_t *dst, blk_uuid_t *src)
-{
-       memcpy((uuid_t *)dst, (uuid_t *)src, sizeof(uuid_t));
-}
-
-static inline void blk_uuid_clear(blk_uuid_t *uuid)
-{
-       memset((uuid_t *)uuid, 0, sizeof(uuid_t));
-}
-
-static inline int blk_uuid_compare(blk_uuid_t *uuid1, blk_uuid_t *uuid2)
-{
-       uint32_t status;
-       return uuid_compare((uuid_t *)uuid1, (uuid_t *)uuid2, &status);
-}
-
-#else
-
-#error "Please update blk_uuid.h for your OS"
-
-#endif
-
-#endif /* __BLKTAP2_UUID_H__ */
diff -r 452c744798f4 -r 83a1d6598fa3 tools/blktap2/include/libvhd-journal.h
--- a/tools/blktap2/include/libvhd-journal.h    Tue Mar 15 14:42:17 2011 +0000
+++ b/tools/blktap2/include/libvhd-journal.h    Tue Mar 15 15:12:50 2011 +0000
@@ -39,7 +39,7 @@
 
 typedef struct vhd_journal_header {
        char                       cookie[8];
-       blk_uuid_t                 uuid;
+       vhd_uuid_t                 uuid;
        uint64_t                   vhd_footer_offset;
        uint32_t                   journal_data_entries;
        uint32_t                   journal_metadata_entries;
diff -r 452c744798f4 -r 83a1d6598fa3 tools/blktap2/include/libvhd.h
--- a/tools/blktap2/include/libvhd.h    Tue Mar 15 14:42:17 2011 +0000
+++ b/tools/blktap2/include/libvhd.h    Tue Mar 15 15:12:50 2011 +0000
@@ -36,7 +36,7 @@
 #include <sys/bswap.h>
 #endif
 
-#include "blk_uuid.h"
+#include "vhd-uuid.h"
 #include "vhd.h"
 
 #ifndef O_LARGEFILE
@@ -216,7 +216,7 @@ static inline int
 static inline int
 vhd_parent_raw(vhd_context_t *ctx)
 {
-       return blk_uuid_is_nil(&ctx->header.prt_uuid);
+       return vhd_uuid_is_nil(&ctx->header.prt_uuid);
 }
 
 void libvhd_set_log_level(int);
diff -r 452c744798f4 -r 83a1d6598fa3 tools/blktap2/include/vhd-uuid.h
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/blktap2/include/vhd-uuid.h  Tue Mar 15 15:12:50 2011 +0000
@@ -0,0 +1,130 @@
+/* Copyright (c) 2008, XenSource Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *     * Redistributions of source code must retain the above copyright
+ *       notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above copyright
+ *       notice, this list of conditions and the following disclaimer in the
+ *       documentation and/or other materials provided with the distribution.
+ *     * Neither the name of XenSource Inc. nor the names of its contributors
+ *       may be used to endorse or promote products derived from this software
+ *       without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
+ * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+#ifndef __BLKTAP2_VHD_UUID_H__
+#define __BLKTAP2_VHDUUID_H__
+
+#if defined(__linux__)
+
+#include <uuid/uuid.h>
+
+typedef struct {
+    uuid_t uuid;
+} vhd_uuid_t;
+
+static inline int vhd_uuid_is_nil(vhd_uuid_t *uuid)
+{
+       return uuid_is_null(uuid->uuid);
+}
+
+static inline void vhd_uuid_generate(vhd_uuid_t *uuid)
+{
+       uuid_generate(uuid->uuid);
+}
+
+static inline void vhd_uuid_to_string(vhd_uuid_t *uuid, char *out, size_t size)
+{
+       uuid_unparse(uuid->uuid, out);
+}
+
+static inline void vhd_uuid_from_string(vhd_uuid_t *uuid, const char *in)
+{
+       uuid_parse(in, uuid->uuid);
+}
+
+static inline void vhd_uuid_copy(vhd_uuid_t *dst, vhd_uuid_t *src)
+{
+       uuid_copy(dst->uuid, src->uuid);
+}
+
+static inline void vhd_uuid_clear(vhd_uuid_t *uuid)
+{
+       uuid_clear(uuid->uuid);
+}
+
+static inline int vhd_uuid_compare(vhd_uuid_t *uuid1, vhd_uuid_t *uuid2)
+{
+       return uuid_compare(uuid1->uuid, uuid2->uuid);
+}
+
+#elif defined(__NetBSD__)
+
+#include <uuid.h>
+#include <string.h>
+#include <stdlib.h>
+
+typedef uuid_t vhd_uuid_t;
+
+static inline int vhd_uuid_is_nil(vhd_uuid_t *uuid)
+{
+       uint32_t status;
+       return uuid_is_nil((uuid_t *)uuid, &status);
+}
+
+static inline void vhd_uuid_generate(vhd_uuid_t *uuid)
+{
+       uint32_t status;
+       uuid_create((uuid_t *)uuid, &status);
+}
+
+static inline void vhd_uuid_to_string(vhd_uuid_t *uuid, char *out, size_t size)
+{
+       uint32_t status;
+       char *_out = NULL;
+       uuid_to_string((uuid_t *)uuid, &_out, &status);
+       strlcpy(out, _out, size);
+       free(_out);
+}
+
+static inline void vhd_uuid_from_string(vhd_uuid_t *uuid, const char *in)
+{
+       uint32_t status;
+       uuid_from_string(in, (uuid_t *)uuid, &status);
+}
+
+static inline void vhd_uuid_copy(vhd_uuid_t *dst, vhd_uuid_t *src)
+{
+       memcpy((uuid_t *)dst, (uuid_t *)src, sizeof(uuid_t));
+}
+
+static inline void vhd_uuid_clear(vhd_uuid_t *uuid)
+{
+       memset((uuid_t *)uuid, 0, sizeof(uuid_t));
+}
+
+static inline int vhd_uuid_compare(vhd_uuid_t *uuid1, vhd_uuid_t *uuid2)
+{
+       uint32_t status;
+       return uuid_compare((uuid_t *)uuid1, (uuid_t *)uuid2, &status);
+}
+
+#else
+
+#error "Please update vhd-uuid.h for your OS"
+
+#endif
+
+#endif /* __BLKTAP2_VHD_UUID_H__ */
diff -r 452c744798f4 -r 83a1d6598fa3 tools/blktap2/include/vhd.h
--- a/tools/blktap2/include/vhd.h       Tue Mar 15 14:42:17 2011 +0000
+++ b/tools/blktap2/include/vhd.h       Tue Mar 15 15:12:50 2011 +0000
@@ -59,7 +59,7 @@ struct hd_ftr {
   u32    geometry;        /* Disk geometry                                */
   u32    type;            /* Disk type                                    */
   u32    checksum;        /* 1's comp sum of this struct.                 */
-  blk_uuid_t uuid;        /* Unique disk ID, used for naming parents      */
+  vhd_uuid_t uuid;        /* Unique disk ID, used for naming parents      */
   char   saved;           /* one-bit -- is this disk/VM in a saved state? */
   char   hidden;          /* tapdisk-specific field: is this vdi hidden?  */
   char   reserved[426];   /* padding                                      */
@@ -147,7 +147,7 @@ struct dd_hdr {
   u32    max_bat_size;    /* Maximum number of entries in the BAT         */
   u32    block_size;      /* Block size in bytes. Must be power of 2.     */
   u32    checksum;        /* Header checksum.  1's comp of all fields.    */
-  blk_uuid_t prt_uuid;    /* ID of the parent disk.                       */
+  vhd_uuid_t prt_uuid;    /* ID of the parent disk.                       */
   u32    prt_ts;          /* Modification time of the parent disk         */
   u32    res1;            /* Reserved.                                    */
   char   prt_name[512];   /* Parent unicode name.                         */
diff -r 452c744798f4 -r 83a1d6598fa3 tools/blktap2/vhd/lib/libvhd-journal.c
--- a/tools/blktap2/vhd/lib/libvhd-journal.c    Tue Mar 15 14:42:17 2011 +0000
+++ b/tools/blktap2/vhd/lib/libvhd-journal.c    Tue Mar 15 15:12:50 2011 +0000
@@ -237,7 +237,7 @@ vhd_journal_add_journal_header(vhd_journ
        if (err)
                return err;
 
-       blk_uuid_copy(&j->header.uuid, &vhd->footer.uuid);
+       vhd_uuid_copy(&j->header.uuid, &vhd->footer.uuid);
        memcpy(j->header.cookie,
               VHD_JOURNAL_HEADER_COOKIE, sizeof(j->header.cookie));
        j->header.vhd_footer_offset = off - sizeof(vhd_footer_t);
diff -r 452c744798f4 -r 83a1d6598fa3 tools/blktap2/vhd/lib/libvhd.c
--- a/tools/blktap2/vhd/lib/libvhd.c    Tue Mar 15 14:42:17 2011 +0000
+++ b/tools/blktap2/vhd/lib/libvhd.c    Tue Mar 15 15:12:50 2011 +0000
@@ -2454,7 +2454,7 @@ vhd_initialize_footer(vhd_context_t *ctx
        ctx->footer.saved        = 0;
        ctx->footer.data_offset  = 0xFFFFFFFFFFFFFFFF;
        strcpy(ctx->footer.crtr_app, "tap");
-       blk_uuid_generate(&ctx->footer.uuid);
+       vhd_uuid_generate(&ctx->footer.uuid);
 }
 
 static int
@@ -2569,7 +2569,7 @@ vhd_initialize_header(vhd_context_t *ctx
                        return err;
 
                ctx->header.prt_ts = vhd_time(stats.st_mtime);
-               blk_uuid_copy(&ctx->header.prt_uuid, &parent.footer.uuid);
+               vhd_uuid_copy(&ctx->header.prt_uuid, &parent.footer.uuid);
                if (!size)
                        size = parent.footer.curr_size;
                vhd_close(&parent);
@@ -2651,7 +2651,7 @@ vhd_change_parent(vhd_context_t *child, 
        }
 
        if (raw) {
-               blk_uuid_clear(&child->header.prt_uuid);
+               vhd_uuid_clear(&child->header.prt_uuid);
        } else {
                err = vhd_open(&parent, ppath, VHD_OPEN_RDONLY);
                if (err) {
@@ -2659,7 +2659,7 @@ vhd_change_parent(vhd_context_t *child, 
                               ppath, child->file, err);
                        goto out;
                }
-               blk_uuid_copy(&child->header.prt_uuid, &parent.footer.uuid);
+               vhd_uuid_copy(&child->header.prt_uuid, &parent.footer.uuid);
                vhd_close(&parent);
        }
 
diff -r 452c744798f4 -r 83a1d6598fa3 tools/blktap2/vhd/lib/vhd-util-check.c
--- a/tools/blktap2/vhd/lib/vhd-util-check.c    Tue Mar 15 14:42:17 2011 +0000
+++ b/tools/blktap2/vhd/lib/vhd-util-check.c    Tue Mar 15 15:12:50 2011 +0000
@@ -218,7 +218,7 @@ vhd_util_check_validate_differencing_hea
                if (vhd_util_check_zeros(header->loc, sizeof(header->loc)))
                        return "invalid non-null parent locators";
 
-               if (!blk_uuid_is_nil(&header->prt_uuid))
+               if (!vhd_uuid_is_nil(&header->prt_uuid))
                        return "invalid non-null parent uuid";
 
                if (header->prt_ts)
@@ -320,7 +320,7 @@ vhd_util_check_validate_parent(vhd_conte
                                VHD_OPEN_RDONLY | VHD_OPEN_IGNORE_DISABLED))
                return "error opening parent";
 
-       if (blk_uuid_compare(&vhd->header.prt_uuid, &parent.footer.uuid)) {
+       if (vhd_uuid_compare(&vhd->header.prt_uuid, &parent.footer.uuid)) {
                msg = "invalid parent uuid";
                goto out;
        }
diff -r 452c744798f4 -r 83a1d6598fa3 tools/blktap2/vhd/lib/vhd-util-read.c
--- a/tools/blktap2/vhd/lib/vhd-util-read.c     Tue Mar 15 14:42:17 2011 +0000
+++ b/tools/blktap2/vhd/lib/vhd-util-read.c     Tue Mar 15 15:12:50 2011 +0000
@@ -78,7 +78,7 @@ vhd_print_header(vhd_context_t *vhd, vhd
               (err ? "failed to read name" : name));
        free(name);
 
-       blk_uuid_to_string(&h->prt_uuid, uuid, sizeof(uuid));
+       vhd_uuid_to_string(&h->prt_uuid, uuid, sizeof(uuid));
        printf("Parent UUID         : %s\n", uuid);
     
        vhd_time_to_string(h->prt_ts, time_str);
@@ -153,7 +153,7 @@ vhd_print_footer(vhd_footer_t *f, int he
        printf("Checksum            : 0x%x|0x%x (%s)\n", f->checksum, cksm,
                f->checksum == cksm ? "Good!" : "Bad!");
 
-       blk_uuid_to_string(&f->uuid, uuid, sizeof(uuid));
+       vhd_uuid_to_string(&f->uuid, uuid, sizeof(uuid));
        printf("UUID                : %s\n", uuid);
 
        printf("Saved state         : %s\n", f->saved == 0 ? "No" : "Yes");

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel