mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 10:40:03 +01:00
tools/blktap2: push uuid wrapper functions down into libvhd.
Nothing else uses them. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
This commit is contained in:
1 parent
f9c1de946c
commit
05dbcc741d
9 files changed
+35
-35
No files matched your search
@@ -807,7 +807,7 @@ vhd_validate_parent(td_driver_t *child_driver,
|
||||
}
|
||||
*/
|
||||
|
||||
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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 @@ vhd_parent_locator_size(vhd_parent_locator_t *loc)
|
||||
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);
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
* 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__
|
||||
#ifndef __BLKTAP2_VHD_UUID_H__
|
||||
#define __BLKTAP2_VHDUUID_H__
|
||||
|
||||
#if defined(__linux__)
|
||||
|
||||
@@ -33,39 +33,39 @@
|
||||
|
||||
typedef struct {
|
||||
uuid_t uuid;
|
||||
} blk_uuid_t;
|
||||
} vhd_uuid_t;
|
||||
|
||||
static inline int blk_uuid_is_nil(blk_uuid_t *uuid)
|
||||
static inline int vhd_uuid_is_nil(vhd_uuid_t *uuid)
|
||||
{
|
||||
return uuid_is_null(uuid->uuid);
|
||||
}
|
||||
|
||||
static inline void blk_uuid_generate(blk_uuid_t *uuid)
|
||||
static inline void vhd_uuid_generate(vhd_uuid_t *uuid)
|
||||
{
|
||||
uuid_generate(uuid->uuid);
|
||||
}
|
||||
|
||||
static inline void blk_uuid_to_string(blk_uuid_t *uuid, char *out, size_t size)
|
||||
static inline void vhd_uuid_to_string(vhd_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)
|
||||
static inline void vhd_uuid_from_string(vhd_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)
|
||||
static inline void vhd_uuid_copy(vhd_uuid_t *dst, vhd_uuid_t *src)
|
||||
{
|
||||
uuid_copy(dst->uuid, src->uuid);
|
||||
}
|
||||
|
||||
static inline void blk_uuid_clear(blk_uuid_t *uuid)
|
||||
static inline void vhd_uuid_clear(vhd_uuid_t *uuid)
|
||||
{
|
||||
uuid_clear(uuid->uuid);
|
||||
}
|
||||
|
||||
static inline int blk_uuid_compare(blk_uuid_t *uuid1, blk_uuid_t *uuid2)
|
||||
static inline int vhd_uuid_compare(vhd_uuid_t *uuid1, vhd_uuid_t *uuid2)
|
||||
{
|
||||
return uuid_compare(uuid1->uuid, uuid2->uuid);
|
||||
}
|
||||
@@ -76,21 +76,21 @@ static inline int blk_uuid_compare(blk_uuid_t *uuid1, blk_uuid_t *uuid2)
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
typedef uuid_t blk_uuid_t;
|
||||
typedef uuid_t vhd_uuid_t;
|
||||
|
||||
static inline int blk_uuid_is_nil(blk_uuid_t *uuid)
|
||||
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 blk_uuid_generate(blk_uuid_t *uuid)
|
||||
static inline void vhd_uuid_generate(vhd_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)
|
||||
static inline void vhd_uuid_to_string(vhd_uuid_t *uuid, char *out, size_t size)
|
||||
{
|
||||
uint32_t status;
|
||||
char *_out = NULL;
|
||||
@@ -99,23 +99,23 @@ static inline void blk_uuid_to_string(blk_uuid_t *uuid, char *out, size_t size)
|
||||
free(_out);
|
||||
}
|
||||
|
||||
static inline void blk_uuid_from_string(blk_uuid_t *uuid, const char *in)
|
||||
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 blk_uuid_copy(blk_uuid_t *dst, blk_uuid_t *src)
|
||||
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 blk_uuid_clear(blk_uuid_t *uuid)
|
||||
static inline void vhd_uuid_clear(vhd_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)
|
||||
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);
|
||||
@@ -123,8 +123,8 @@ static inline int blk_uuid_compare(blk_uuid_t *uuid1, blk_uuid_t *uuid2)
|
||||
|
||||
#else
|
||||
|
||||
#error "Please update blk_uuid.h for your OS"
|
||||
#error "Please update vhd-uuid.h for your OS"
|
||||
|
||||
#endif
|
||||
|
||||
#endif /* __BLKTAP2_UUID_H__ */
|
||||
#endif /* __BLKTAP2_VHD_UUID_H__ */
|
||||
@@ -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. */
|
||||
|
||||
@@ -237,7 +237,7 @@ vhd_journal_add_journal_header(vhd_journal_t *j)
|
||||
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);
|
||||
|
||||
@@ -2454,7 +2454,7 @@ vhd_initialize_footer(vhd_context_t *ctx, int type, uint64_t size)
|
||||
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, const char *parent_path,
|
||||
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, char *parent_path, int raw)
|
||||
}
|
||||
|
||||
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, char *parent_path, int raw)
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
@@ -218,7 +218,7 @@ vhd_util_check_validate_differencing_header(vhd_context_t *vhd)
|
||||
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_context_t *vhd, const char *ppath)
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -78,7 +78,7 @@ vhd_print_header(vhd_context_t *vhd, vhd_header_t *h, int hex)
|
||||
(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 hex)
|
||||
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");
|
||||
|
||||