public inbox for lvm2-cvs@sourceware.org help / color / mirror / Atom feed
From: zkabelac@sourceware.org To: lvm-devel@redhat.com, lvm2-cvs@sourceware.org Subject: LVM2 ./WHATS_NEW lib/report/report.c Date: Thu, 07 Jan 2010 14:37:00 -0000 [thread overview] Message-ID: <20100107143712.25368.qmail@sourceware.org> (raw) CVSROOT: /cvs/lvm2 Module name: LVM2 Changes by: zkabelac@sourceware.org 2010-01-07 14:37:12 Modified files: . : WHATS_NEW lib/report : report.c Log message: Use offsetof() macro and avoid defining dummy static union for FIELD() macro. Makes it compilable by clang compiler. Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.1367&r2=1.1368 http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/report/report.c.diff?cvsroot=lvm2&r1=1.106&r2=1.107 --- LVM2/WHATS_NEW 2010/01/06 13:27:06 1.1367 +++ LVM2/WHATS_NEW 2010/01/07 14:37:11 1.1368 @@ -1,5 +1,6 @@ Version 2.02.57 - ==================================== + Use offsetof() macro for FIELD() macro in lib/report/report.c. Rename mirror_device_fault_policy to mirror_image_fault policy. Remove empty PV devices if lvconvert --repair is using defined policies. Use fixed buffer to prevent stack overflow in persistent filter dump. --- LVM2/lib/report/report.c 2009/10/31 17:26:14 1.106 +++ LVM2/lib/report/report.c 2010/01/07 14:37:12 1.107 @@ -24,6 +24,8 @@ #include "str_list.h" #include "lvmcache.h" +#include <stddef.h> /* offsetof() */ + struct lvm_report_object { struct volume_group *vg; struct logical_volume *lv; @@ -32,17 +34,6 @@ struct pv_segment *pvseg; }; -/* - * For macro use - */ -static union { - struct physical_volume _pv; - struct logical_volume _lv; - struct volume_group _vg; - struct lv_segment _seg; - struct pv_segment _pvseg; -} _dummy; - static char _alloc_policy_char(alloc_policy_t alloc) { switch (alloc) { @@ -1156,9 +1147,17 @@ #define STR DM_REPORT_FIELD_TYPE_STRING #define NUM DM_REPORT_FIELD_TYPE_NUMBER -#define FIELD(type, strct, sorttype, head, field, width, func, id, desc) {type, sorttype, (off_t)((uintptr_t)&_dummy._ ## strct.field - (uintptr_t)&_dummy._ ## strct), width, id, head, &_ ## func ## _disp, desc}, +#define FIELD(type, strct, sorttype, head, field, width, func, id, desc) \ + {type, sorttype, offsetof(type_ ## strct, field), width, \ + id, head, &_ ## func ## _disp, desc}, + +typedef struct physical_volume type_pv; +typedef struct logical_volume type_lv; +typedef struct volume_group type_vg; +typedef struct lv_segment type_seg; +typedef struct pv_segment type_pvseg; -static struct dm_report_field_type _fields[] = { +static const struct dm_report_field_type _fields[] = { #include "columns.h" {0, 0, 0, 0, "", "", NULL, NULL}, };
next reply other threads:[~2010-01-07 14:37 UTC|newest] Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top 2010-01-07 14:37 zkabelac [this message] -- strict thread matches above, loose matches on Subject: below -- 2010-05-20 22:24 agk 2009-02-06 12:41 mbroz 2009-01-10 17:09 agk 2009-01-10 15:04 wysochanski 2008-12-15 13:30 wysochanski 2007-01-22 15:07 agk 2007-01-18 17:48 agk 2006-10-02 16:46 agk 2004-05-05 18:23 agk
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=20100107143712.25368.qmail@sourceware.org \ --to=zkabelac@sourceware.org \ --cc=lvm-devel@redhat.com \ --cc=lvm2-cvs@sourceware.org \ /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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).