From: Dave Wysochanski Date: Wed, 13 Jun 2007 19:52:48 +0000 (+0000) Subject: Add typedef pv_handle_t X-Git-Tag: v2_02_91~4120 X-Git-Url: https://sourceware.org/git/?a=commitdiff_plain;h=f1f4c1ea509d89209c482eb5fa66bbf8fe8932f8;p=lvm2.git Add typedef pv_handle_t --- diff --git a/WHATS_NEW b/WHATS_NEW index 52c4b2d45..f20e2a094 100644 --- a/WHATS_NEW +++ b/WHATS_NEW @@ -1,6 +1,6 @@ Version 2.02.26 - ================================= - Fix a couple benign warnings by adding variable initializations. + Suppress a couple benign warnings by adding variable initializations. Convert find_pv_in_vg_by_uuid and pv_create to use PV handles. Add get_pv_* functions to return PV members (external LVM library). Add wrappers to some functions in preparation for external LVM library. diff --git a/lib/metadata/metadata.c b/lib/metadata/metadata.c index 359a51457..6389177de 100644 --- a/lib/metadata/metadata.c +++ b/lib/metadata/metadata.c @@ -586,7 +586,7 @@ int vg_split_mdas(struct cmd_context *cmd, struct volume_group *vg_from, * Note: * FIXME - liblvm todo - tidy up arguments for external use (fmt, mdas, etc) */ -void *pv_create(const struct format_type *fmt, +pv_handle_t pv_create(const struct format_type *fmt, struct device *dev, struct id *id, uint64_t size, uint64_t pe_start, @@ -595,11 +595,11 @@ void *pv_create(const struct format_type *fmt, int pvmetadatacopies, uint64_t pvmetadatasize, struct list *mdas) { - return _pv_create(fmt, dev, id, size, pe_start, - existing_extent_count, - existing_extent_size, - pvmetadatacopies, - pvmetadatasize, mdas); + return (pv_handle_t) _pv_create(fmt, dev, id, size, pe_start, + existing_extent_count, + existing_extent_size, + pvmetadatacopies, + pvmetadatasize, mdas); } /* Sizes in sectors */ @@ -719,9 +719,9 @@ int pv_is_in_vg(struct volume_group *vg, struct physical_volume *pv) * Note * FIXME - liblvm todo - make into function that takes VG handle */ -void *find_pv_in_vg_by_uuid(struct volume_group *vg, struct id *id) +pv_handle_t find_pv_in_vg_by_uuid(struct volume_group *vg, struct id *id) { - return _find_pv_in_vg_by_uuid(vg, id); + return (pv_handle_t) _find_pv_in_vg_by_uuid(vg, id); } @@ -1773,57 +1773,57 @@ int vg_check_status(struct volume_group *vg, uint32_t status_flags) /* * Gets/Sets for external LVM library */ -struct id get_pv_id (void *pv_handle) +struct id get_pv_id (pv_handle_t pv_handle) { return pv_field(pv_handle, id); } -const struct format_type *get_pv_format_type (void *pv_handle) +const struct format_type *get_pv_format_type (pv_handle_t pv_handle) { return pv_field(pv_handle, fmt); } -struct id get_pv_vgid (void *pv_handle) +struct id get_pv_vgid (pv_handle_t pv_handle) { return pv_field(pv_handle, vgid); } -struct device *get_pv_dev (void *pv_handle) +struct device *get_pv_dev (pv_handle_t pv_handle) { return pv_field(pv_handle, dev); } -const char *get_pv_vg_name (void *pv_handle) +const char *get_pv_vg_name (pv_handle_t pv_handle) { return pv_field(pv_handle, vg_name); } -uint64_t get_pv_size(void *pv_handle) +uint64_t get_pv_size(pv_handle_t pv_handle) { return pv_field(pv_handle, size); } -uint32_t get_pv_status (void *pv_handle) +uint32_t get_pv_status (pv_handle_t pv_handle) { return pv_field(pv_handle, status); } -uint32_t get_pv_pe_size (void *pv_handle) +uint32_t get_pv_pe_size (pv_handle_t pv_handle) { return pv_field(pv_handle, pe_size); } -uint64_t get_pv_pe_start (void *pv_handle) +uint64_t get_pv_pe_start (pv_handle_t pv_handle) { return pv_field(pv_handle, pe_start); } -uint32_t get_pv_pe_count (void *pv_handle) +uint32_t get_pv_pe_count (pv_handle_t pv_handle) { return pv_field(pv_handle, pe_count); } -uint32_t get_pv_pe_alloc_count (void *pv_handle) +uint32_t get_pv_pe_alloc_count (pv_handle_t pv_handle) { return pv_field(pv_handle, pe_alloc_count); } diff --git a/lib/metadata/metadata.h b/lib/metadata/metadata.h index a64f1187b..5f3b08e60 100644 --- a/lib/metadata/metadata.h +++ b/lib/metadata/metadata.h @@ -142,6 +142,7 @@ struct physical_volume { struct list tags; }; +typedef struct physical_volume * pv_handle_t; struct metadata_area; struct format_instance; @@ -438,15 +439,15 @@ int pv_write_orphan(struct cmd_context *cmd, struct physical_volume *pv); /* pe_start and pe_end relate to any existing data so that new metadata * areas can avoid overlap */ -void *pv_create(const struct format_type *fmt, - struct device *dev, - struct id *id, - uint64_t size, - uint64_t pe_start, - uint32_t existing_extent_count, - uint32_t existing_extent_size, - int pvmetadatacopies, - uint64_t pvmetadatasize, struct list *mdas); +pv_handle_t pv_create(const struct format_type *fmt, + struct device *dev, + struct id *id, + uint64_t size, + uint64_t pe_start, + uint32_t existing_extent_count, + uint32_t existing_extent_size, + int pvmetadatacopies, + uint64_t pvmetadatasize, struct list *mdas); int pv_resize(struct physical_volume *pv, struct volume_group *vg, uint32_t new_pe_count); int pv_analyze(struct cmd_context *cmd, const char *pv_name, @@ -500,7 +501,7 @@ struct physical_volume *pv_find(struct volume_group *vg, const char *pv_name); /* Find a PV within a given VG */ struct pv_list *find_pv_in_vg(struct volume_group *vg, const char *pv_name); -void *find_pv_in_vg_by_uuid(struct volume_group *vg, struct id *id); +pv_handle_t find_pv_in_vg_by_uuid(struct volume_group *vg, struct id *id); int get_pv_from_vg_by_id(const struct format_type *fmt, const char *vg_name, const char *vgid, const char *pvid, struct physical_volume *pv); @@ -637,16 +638,16 @@ char *generate_lv_name(struct volume_group *vg, const char *format, /* * Gets/Sets for external LVM library */ -struct id get_pv_id (void *pv_handle); -const struct format_type *get_pv_format_type (void *pv_handle); -struct id get_pv_vgid (void *pv_handle); -struct device *get_pv_dev (void *pv_handle); -const char *get_pv_vg_name (void *pv_handle); -uint64_t get_pv_size(void *pv_handle); -uint32_t get_pv_status (void *pv_handle); -uint32_t get_pv_pe_size (void *pv_handle); -uint64_t get_pv_pe_start (void *pv_handle); -uint32_t get_pv_pe_count (void *pv_handle); -uint32_t get_pv_pe_alloc_count (void *pv_handle); +struct id get_pv_id (pv_handle_t pv_handle); +const struct format_type *get_pv_format_type (pv_handle_t pv_handle); +struct id get_pv_vgid (pv_handle_t pv_handle); +struct device *get_pv_dev (pv_handle_t pv_handle); +const char *get_pv_vg_name (pv_handle_t pv_handle); +uint64_t get_pv_size(pv_handle_t pv_handle); +uint32_t get_pv_status (pv_handle_t pv_handle); +uint32_t get_pv_pe_size (pv_handle_t pv_handle); +uint64_t get_pv_pe_start (pv_handle_t pv_handle); +uint32_t get_pv_pe_count (pv_handle_t pv_handle); +uint32_t get_pv_pe_alloc_count (pv_handle_t pv_handle); #endif