From: Zdenek Kabelac <zkabelac@redhat.com>
To: lvm-devel@redhat.com
Subject: [PATCH 05/12] Add pv_uuid, vg_uuid, and lv_uuid, and call id_format_and_copy.
Date: Fri, 10 Sep 2010 11:38:03 +0200 [thread overview]
Message-ID: <4C89FC7B.7030801@redhat.com> (raw)
In-Reply-To: <1284063189-4908-6-git-send-email-dwysocha@redhat.com>
Dne 9.9.2010 22:13, Dave Wysochanski napsal(a):
> Add supporting functions for pv_uuid, vg_uuid, and lv_uuid.
> Call new function id_format_and_copy.
>
> Signed-off-by: Dave Wysochanski <dwysocha@redhat.com>
> ---
> lib/metadata/metadata.c | 15 +++++++++++++++
> lib/metadata/metadata.h | 3 +++
> liblvm/lvm_lv.c | 10 ++--------
> liblvm/lvm_pv.c | 10 ++--------
> liblvm/lvm_vg.c | 8 +-------
> 5 files changed, 23 insertions(+), 23 deletions(-)
>
> diff --git a/lib/metadata/metadata.c b/lib/metadata/metadata.c
> index 86f07e7..6fb69dc 100644
> --- a/lib/metadata/metadata.c
> +++ b/lib/metadata/metadata.c
> @@ -4619,6 +4619,21 @@ char *pv_attr(struct dm_pool *mem, const struct physical_volume *pv)
> return repstr;
> }
>
> +char *pv_uuid(struct physical_volume *pv)
> +{
> + return id_format_and_copy(pv->vg->vgmem, &pv->id);
> +}
> +
> +char *vg_uuid(struct volume_group *vg)
> +{
> + return id_format_and_copy(vg->vgmem, &vg->id);
> +}
> +
> +char *lv_uuid(struct logical_volume *lv)
> +{
> + return id_format_and_copy(lv->vg->vgmem, &lv->lvid.id[1]);
> +}
> +
> static int _lv_mimage_in_sync(const struct logical_volume *lv)
> {
> float percent;
> diff --git a/lib/metadata/metadata.h b/lib/metadata/metadata.h
> index 1749f85..4eb826a 100644
> --- a/lib/metadata/metadata.h
> +++ b/lib/metadata/metadata.h
> @@ -422,5 +422,8 @@ uint64_t vg_mda_free(const struct volume_group *vg);
> char *pv_attr(struct dm_pool *mem, const struct physical_volume *pv);
> char *vg_attr(struct dm_pool *mem, const struct volume_group *vg);
> char *lv_attr(struct dm_pool *mem, const struct logical_volume *lv);
> +char *lv_uuid(struct logical_volume *lv);
> +char *vg_uuid(struct volume_group *vg);
> +char *pv_uuid(struct physical_volume *pv);
Again - 'const'for *lv, *vg, *pv would fit here probably better.
> 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))) {
Probably not a big issue, but I can see some 'inconsistency' -
It looks like we have put 'const' on this return value to mark value as a
string which user should not try to 'free' - but this is somewhat missuse of
'const' - there is probably no reason to avoid modification of copied string.
As we do not keep it internally - it just allocated string and user should be
able to do anything he wants to do with it.
Maybe we should reconsider and relax this return values to plain char*.
Zdenek
next prev parent reply other threads:[~2010-09-10 9:38 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-09-09 20:12 [PATCH 00/12] Add lvm vg properties for lvm2app Dave Wysochanski
2010-09-09 20:12 ` [PATCH 01/12] Add vg_attr() and lv_attr() functions Dave Wysochanski
2010-09-10 9:28 ` Zdenek Kabelac
2010-09-10 16:54 ` [PATCH] Simplify logic to create 'attr' strings Dave Wysochanski
2010-09-09 20:12 ` [PATCH 02/12] Refactor pvstatus_disp to take pv argument and call common pv_attr function Dave Wysochanski
2010-09-09 20:13 ` [PATCH 03/12] Add id_format_and_copy() uuid function to allocate and format a uuid Dave Wysochanski
2010-09-10 9:30 ` Zdenek Kabelac
2010-09-10 16:56 ` Dave Wysochanski
2010-09-09 20:13 ` [PATCH 04/12] Call id_format_and_copy from _uuid_disp Dave Wysochanski
2010-09-09 20:13 ` [PATCH 05/12] Add pv_uuid, vg_uuid, and lv_uuid, and call id_format_and_copy Dave Wysochanski
2010-09-10 9:38 ` Zdenek Kabelac [this message]
2010-09-10 17:25 ` Dave Wysochanski
2010-09-09 20:13 ` [PATCH 06/12] Add tags_format_and_copy() common function to format tags strings Dave Wysochanski
2010-09-09 20:13 ` [PATCH 07/12] Add pv_tags, vg_tags, lv_tags functions that call tags_format_and_copy Dave Wysochanski
2010-09-09 20:13 ` [PATCH 08/12] Add GET_STR_PROPERTY_FN macro Dave Wysochanski
2010-09-09 20:13 ` [PATCH 09/12] Add 'get' functions for a few vg string fields, vg_name, vg_fmt, vg_sysid Dave Wysochanski
2010-09-09 20:13 ` [PATCH 10/12] Add vg_uuid, vg_attr, vg_tags 'get' functions Dave Wysochanski
2010-09-09 20:13 ` [PATCH 11/12] Add lvm_vg_get_property() generic vg property function Dave Wysochanski
2010-09-09 20:13 ` [PATCH 12/12] Add tests for lvm_vg_get_property() Dave Wysochanski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4C89FC7B.7030801@redhat.com \
--to=zkabelac@redhat.com \
--cc=lvm-devel@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.