]> sourceware.org Git - lvm2.git/commitdiff
Add pv_uuid_dup, vg_uuid_dup, and lv_uuid_dup, and call id_format_and_copy.
authorDave Wysochanski <dwysocha@redhat.com>
Thu, 30 Sep 2010 14:07:47 +0000 (14:07 +0000)
committerDave Wysochanski <dwysocha@redhat.com>
Thu, 30 Sep 2010 14:07:47 +0000 (14:07 +0000)
Add supporting functions for pv_uuid, vg_uuid, and lv_uuid.
Call new function id_format_and_copy.  Use 'const' where appropriate.
Add "_dup" suffix to indicate memory is being allocated.
Call {pv|vg|lv}_uuid_dup from lvm2app uuid functions.

lib/metadata/lv.c
lib/metadata/lv.h
lib/metadata/pv.c
lib/metadata/pv.h
lib/metadata/vg.c
lib/metadata/vg.h
liblvm/lvm_lv.c
liblvm/lvm_pv.c
liblvm/lvm_vg.c

index 6abcdabb3f878669750ac63effd58bcfaf152858..4604653430e49d718bc90cfe55cad5f8a1e6eca8 100644 (file)
 #include "metadata.h"
 #include "activate.h"
 
+char *lv_uuid_dup(const struct logical_volume *lv)
+{
+       return id_format_and_copy(lv->vg->vgmem, &lv->lvid.id[1]);
+}
+
 uint64_t lv_size(const struct logical_volume *lv)
 {
        return lv->size;
index 4cf06b222922284b9ba443b6858b31ef08e7dbf5..9e8dbe201b781c121bffe153c0e56a60cc2575b4 100644 (file)
@@ -49,5 +49,6 @@ struct logical_volume {
 
 uint64_t lv_size(const struct logical_volume *lv);
 char *lv_attr_dup(struct dm_pool *mem, const struct logical_volume *lv);
+char *lv_uuid_dup(const struct logical_volume *lv);
 
 #endif
index a21b7d67c96aad7f6fc8bf9fef65bf635b225420..c60d825bb5535b5f36ebd8e77cb46870799c5aa3 100644 (file)
@@ -29,6 +29,11 @@ struct id pv_id(const struct physical_volume *pv)
        return pv_field(pv, id);
 }
 
+char *pv_uuid_dup(const struct physical_volume *pv)
+{
+       return id_format_and_copy(pv->vg->vgmem, &pv->id);
+}
+
 const struct format_type *pv_format_type(const struct physical_volume *pv)
 {
        return pv_field(pv, fmt);
index 9e1c619de561294a25b55c60bebbf4cca13ffcdb..1df49575988c9c8be3320686c457b884bb630068 100644 (file)
@@ -56,6 +56,7 @@ struct device *pv_dev(const struct physical_volume *pv);
 const char *pv_vg_name(const struct physical_volume *pv);
 char *pv_attr_dup(struct dm_pool *mem, const struct physical_volume *pv);
 const char *pv_dev_name(const struct physical_volume *pv);
+char *pv_uuid_dup(const struct physical_volume *pv);
 uint64_t pv_size(const struct physical_volume *pv);
 uint64_t pv_size_field(const struct physical_volume *pv);
 uint64_t pv_dev_size(const struct physical_volume *pv);
index 07cb60abfe74be0e25404bfb7f782bf273d091e1..c82eaa412d6e825bcc1ea59368d86a59acf5eddf 100644 (file)
 #include "metadata.h"
 #include "activate.h"
 
+char *vg_uuid_dup(const struct volume_group *vg)
+{
+       return id_format_and_copy(vg->vgmem, &vg->id);
+}
+
 uint32_t vg_seqno(const struct volume_group *vg)
 {
        return vg->seqno;
index ebb44e09ebc21f9829e85c569af80c6b08f72d26..b0908949bc48e54c94ea32c2fa7ae9b294ca87ce 100644 (file)
@@ -124,5 +124,6 @@ unsigned snapshot_count(const struct volume_group *vg);
 uint64_t vg_mda_size(const struct volume_group *vg);
 uint64_t vg_mda_free(const struct volume_group *vg);
 char *vg_attr_dup(struct dm_pool *mem, const struct volume_group *vg);
+char *vg_uuid_dup(const struct volume_group *vg);
 
 #endif
index 4519a7bddc7a3c173f94404f9311c3499d4b6d22..7bdafe098d95e515d3a724ce76b4c4446ba95e2c 100644 (file)
@@ -14,7 +14,7 @@
 
 #include "lib.h"
 #include "lvm2app.h"
-#include "metadata-exported.h"
+#include "metadata.h"
 #include "lvm-string.h"
 #include "defaults.h"
 #include "segtype.h"
@@ -39,13 +39,7 @@ uint64_t lvm_lv_get_size(const lv_t lv)
 
 const char *lvm_lv_get_uuid(const lv_t lv)
 {
-       char uuid[64] __attribute__((aligned(8)));
-
-       if (!id_write_format(&lv->lvid.id[1], uuid, sizeof(uuid))) {
-               log_error(INTERNAL_ERROR "unable to convert uuid");
-               return NULL;
-       }
-       return dm_pool_strndup(lv->vg->vgmem, (const char *)uuid, 64);
+       return lv_uuid_dup(lv);
 }
 
 const char *lvm_lv_get_name(const lv_t lv)
index db2383c7914fef9dd5f14889d0d3b554e75abab3..0b6b6b14828d38114607acbc317b95d2767a2769 100644 (file)
 
 #include "lib.h"
 #include "lvm2app.h"
-#include "metadata-exported.h"
+#include "metadata.h"
 #include "lvm-string.h"
 
 const char *lvm_pv_get_uuid(const pv_t pv)
 {
-       char uuid[64] __attribute__((aligned(8)));
-
-       if (!id_write_format(&pv->id, uuid, sizeof(uuid))) {
-               log_error(INTERNAL_ERROR "Unable to convert uuid");
-               return NULL;
-       }
-       return dm_pool_strndup(pv->vg->vgmem, (const char *)uuid, 64);
+       return pv_uuid_dup(pv);
 }
 
 const char *lvm_pv_get_name(const pv_t pv)
index a75652d38efe1864cb07b3256627c81284519900..a09208acb222206d58144f1a1f7e4c2db9df9974 100644 (file)
@@ -327,13 +327,7 @@ uint64_t lvm_vg_get_max_lv(const vg_t vg)
 
 const char *lvm_vg_get_uuid(const vg_t vg)
 {
-       char uuid[64] __attribute__((aligned(8)));
-
-       if (!id_write_format(&vg->id, uuid, sizeof(uuid))) {
-               log_error(INTERNAL_ERROR "Unable to convert uuid");
-               return NULL;
-       }
-       return dm_pool_strndup(vg->vgmem, (const char *)uuid, 64);
+       return vg_uuid_dup(vg);
 }
 
 const char *lvm_vg_get_name(const vg_t vg)
This page took 0.049032 seconds and 5 git commands to generate.