master - cleanup: matching declaration order
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=dbb19f6ace5210a880f...
Commit: dbb19f6ace5210a880f107cbae34081db0457d1e
Parent: 56c41b7522d2a9ab12f15a65b8200545a47f5412
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Sat Aug 29 21:37:39 2020 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Tue Sep 1 17:57:50 2020 +0200
cleanup: matching declaration order
Cosmetic
---
daemons/dmeventd/dmeventd.c | 2 +-
daemons/dmeventd/libdevmapper-event.c | 2 +-
daemons/lvmlockd/lvmlockd-client.h | 2 +-
daemons/lvmlockd/lvmlockd-core.c | 8 ++++----
lib/activate/activate.c | 6 +++---
lib/cache/lvmcache.c | 4 ++--
tools/reporter.c | 10 +++++-----
7 files changed, 17 insertions(+), 17 deletions(-)
diff --git a/daemons/dmeventd/dmeventd.c b/daemons/dmeventd/dmeventd.c
index 96e70919b..4c3ef74f1 100644
--- a/daemons/dmeventd/dmeventd.c
+++ b/daemons/dmeventd/dmeventd.c
@@ -2028,8 +2028,8 @@ static int _reinstate_registrations(struct dm_event_fifos *fifos)
static void _restart_dmeventd(void)
{
struct dm_event_fifos fifos = {
- .server = -1,
.client = -1,
+ .server = -1,
/* FIXME Make these either configurable or depend directly on dmeventd_path */
.client_path = DM_EVENT_FIFO_CLIENT,
.server_path = DM_EVENT_FIFO_SERVER
diff --git a/daemons/dmeventd/libdevmapper-event.c b/daemons/dmeventd/libdevmapper-event.c
index 780d10db9..7e09ff07b 100644
--- a/daemons/dmeventd/libdevmapper-event.c
+++ b/daemons/dmeventd/libdevmapper-event.c
@@ -615,8 +615,8 @@ static int _do_event(int cmd, char *dmeventd_path, struct dm_event_daemon_messag
{
int ret;
struct dm_event_fifos fifos = {
- .server = -1,
.client = -1,
+ .server = -1,
/* FIXME Make these either configurable or depend directly on dmeventd_path */
.client_path = DM_EVENT_FIFO_CLIENT,
.server_path = DM_EVENT_FIFO_SERVER
diff --git a/daemons/lvmlockd/lvmlockd-client.h b/daemons/lvmlockd/lvmlockd-client.h
index 1d49dded8..539ee5cd8 100644
--- a/daemons/lvmlockd/lvmlockd-client.h
+++ b/daemons/lvmlockd/lvmlockd-client.h
@@ -23,9 +23,9 @@ static inline daemon_handle lvmlockd_open(const char *sock)
daemon_info lvmlockd_info = {
.path = "lvmlockd",
.socket = sock ?: LVMLOCKD_SOCKET,
+ .autostart = 0,
.protocol = "lvmlockd",
.protocol_version = 1,
- .autostart = 0
};
return daemon_open(lvmlockd_info);
diff --git a/daemons/lvmlockd/lvmlockd-core.c b/daemons/lvmlockd/lvmlockd-core.c
index 84272c4d7..a0803de39 100644
--- a/daemons/lvmlockd/lvmlockd-core.c
+++ b/daemons/lvmlockd/lvmlockd-core.c
@@ -6038,14 +6038,14 @@ static void usage(char *prog, FILE *file)
int main(int argc, char *argv[])
{
daemon_state ds = {
- .daemon_main = main_loop,
- .daemon_init = NULL,
- .daemon_fini = NULL,
+ .name = "lvmlockd",
.pidfile = getenv("LVM_LVMLOCKD_PIDFILE"),
.socket_path = getenv("LVM_LVMLOCKD_SOCKET"),
.protocol = lvmlockd_protocol,
.protocol_version = lvmlockd_protocol_version,
- .name = "lvmlockd",
+ .daemon_init = NULL,
+ .daemon_fini = NULL,
+ .daemon_main = main_loop,
};
static struct option long_options[] = {
diff --git a/lib/activate/activate.c b/lib/activate/activate.c
index 22c4e6318..0c6bd1a9a 100644
--- a/lib/activate/activate.c
+++ b/lib/activate/activate.c
@@ -2269,8 +2269,8 @@ int lv_suspend_if_active(struct cmd_context *cmd, const char *lvid_s, unsigned o
const struct logical_volume *lv, const struct logical_volume *lv_pre)
{
struct lv_activate_opts laopts = {
- .origin_only = origin_only,
- .exclusive = exclusive
+ .exclusive = exclusive,
+ .origin_only = origin_only
};
return _lv_suspend(cmd, lvid_s, &laopts, 0, lv, lv_pre);
@@ -2381,8 +2381,8 @@ int lv_resume_if_active(struct cmd_context *cmd, const char *lvid_s,
unsigned revert, const struct logical_volume *lv)
{
struct lv_activate_opts laopts = {
- .origin_only = origin_only,
.exclusive = exclusive,
+ .origin_only = origin_only,
.revert = revert
};
diff --git a/lib/cache/lvmcache.c b/lib/cache/lvmcache.c
index 147d0f1cc..cad8247c7 100644
--- a/lib/cache/lvmcache.c
+++ b/lib/cache/lvmcache.c
@@ -1708,8 +1708,8 @@ int lvmcache_update_vg_from_write(struct volume_group *vg)
char pvid_s[ID_LEN + 1] __attribute__((aligned(8)));
struct lvmcache_vgsummary vgsummary = {
.vgname = vg->name,
- .vgstatus = vg->status,
.vgid = vg->id,
+ .vgstatus = vg->status,
.system_id = vg->system_id,
.lock_type = vg->lock_type
};
@@ -1745,8 +1745,8 @@ int lvmcache_update_vg_from_read(struct volume_group *vg, unsigned precommitted)
char pvid_s[ID_LEN + 1] __attribute__((aligned(8)));
struct lvmcache_vgsummary vgsummary = {
.vgname = vg->name,
- .vgstatus = vg->status,
.vgid = vg->id,
+ .vgstatus = vg->status,
.system_id = vg->system_id,
.lock_type = vg->lock_type
};
diff --git a/tools/reporter.c b/tools/reporter.c
index db982b393..9fb8b128c 100644
--- a/tools/reporter.c
+++ b/tools/reporter.c
@@ -322,8 +322,8 @@ static int _do_pvsegs_sub_single(struct cmd_context *cmd,
struct lv_segment *seg = pvseg->lvseg;
struct segment_type _freeseg_type = {
- .name = "free",
.flags = SEG_VIRTUAL | SEG_CANNOT_BE_ZEROED,
+ .name = "free",
};
struct volume_group _free_vg = {
@@ -336,24 +336,24 @@ static int _do_pvsegs_sub_single(struct cmd_context *cmd,
};
struct logical_volume _free_logical_volume = {
- .vg = vg ?: &_free_vg,
.name = "",
+ .vg = vg ?: &_free_vg,
.status = VISIBLE_LV,
.major = -1,
.minor = -1,
- .tags = DM_LIST_HEAD_INIT(_free_logical_volume.tags),
+ .snapshot_segs = DM_LIST_HEAD_INIT(_free_logical_volume.snapshot_segs),
.segments = DM_LIST_HEAD_INIT(_free_logical_volume.segments),
+ .tags = DM_LIST_HEAD_INIT(_free_logical_volume.tags),
.segs_using_this_lv = DM_LIST_HEAD_INIT(_free_logical_volume.segs_using_this_lv),
.indirect_glvs = DM_LIST_HEAD_INIT(_free_logical_volume.indirect_glvs),
- .snapshot_segs = DM_LIST_HEAD_INIT(_free_logical_volume.snapshot_segs),
};
struct lv_segment _free_lv_segment = {
.lv = &_free_logical_volume,
.segtype = &_freeseg_type,
.len = pvseg->len,
- .tags = DM_LIST_HEAD_INIT(_free_lv_segment.tags),
.origin_list = DM_LIST_HEAD_INIT(_free_lv_segment.origin_list),
+ .tags = DM_LIST_HEAD_INIT(_free_lv_segment.tags),
};
struct lv_with_info_and_seg_status status = {
3 years, 8 months
master - cov: avoid duplicated assign
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=56c41b7522d2a9ab12f...
Commit: 56c41b7522d2a9ab12f15a65b8200545a47f5412
Parent: a481f4263093d45eb4c4a7912ab3c6069ed05df9
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Sat Aug 29 20:40:20 2020 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Tue Sep 1 17:57:50 2020 +0200
cov: avoid duplicated assign
---
lib/metadata/lv_manip.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c
index 95ca2df39..284d0e52b 100644
--- a/lib/metadata/lv_manip.c
+++ b/lib/metadata/lv_manip.c
@@ -7576,8 +7576,7 @@ int wipe_lv(struct logical_volume *lv, struct wipe_params wp)
struct device *dev;
char name[PATH_MAX];
uint64_t zero_sectors;
- int zero_metadata = wp.is_metadata ?
- find_config_tree_bool(lv->vg->cmd, allocation_zero_metadata_CFG, NULL) : 0;
+ int zero_metadata;
if (!wp.do_zero && !wp.do_wipe_signatures && !wp.is_metadata)
/* nothing to do */
3 years, 8 months
master - cov: always initialized values
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=a481f4263093d45eb4c...
Commit: a481f4263093d45eb4c4a7912ab3c6069ed05df9
Parent: 85e2c7e14dc888e54174222600fc38470ab035df
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Sat Aug 29 20:27:32 2020 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Tue Sep 1 17:57:50 2020 +0200
cov: always initialized values
Make sure values are initialized for all possible paths.
---
lib/device/dev-md.c | 2 +-
lib/label/hints.c | 2 +-
tools/lvconvert.c | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/lib/device/dev-md.c b/lib/device/dev-md.c
index 8fe7fc361..36494b12b 100644
--- a/lib/device/dev-md.c
+++ b/lib/device/dev-md.c
@@ -176,7 +176,7 @@ static int _udev_dev_is_md_component(struct device *dev)
*/
static int _native_dev_is_md_component(struct device *dev, uint64_t *offset_found, int full)
{
- uint64_t size, sb_offset;
+ uint64_t size, sb_offset = 0;
int ret;
if (!scan_bcache)
diff --git a/lib/label/hints.c b/lib/label/hints.c
index 55f55900d..8da131428 100644
--- a/lib/label/hints.c
+++ b/lib/label/hints.c
@@ -663,7 +663,7 @@ static int _read_hint_file(struct cmd_context *cmd, struct dm_list *hints, int *
int found = 0;
int keylen;
int hv_major, hv_minor;
- int major, minor;
+ int major = -1, minor = -1;
int ret = 1;
int i;
diff --git a/tools/lvconvert.c b/tools/lvconvert.c
index c95287a78..04ec1ee4f 100644
--- a/tools/lvconvert.c
+++ b/tools/lvconvert.c
@@ -5614,7 +5614,7 @@ static int _set_writecache_block_size(struct cmd_context *cmd,
uint32_t block_size = 0;
int lbs_unknown = 0, lbs_4k = 0, lbs_512 = 0;
int pbs_unknown = 0, pbs_4k = 0, pbs_512 = 0;
- int rv;
+ int rv = 0;
/* This is set if the user specified a writecache block size on the command line. */
if (*block_size_sectors)
3 years, 8 months
master - cov: explicitely ignore function result
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=85e2c7e14dc888e5417...
Commit: 85e2c7e14dc888e54174222600fc38470ab035df
Parent: 1705b439b1babfcae75b1d54d45eb7909cbccfb9
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Tue Sep 1 17:53:36 2020 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Tue Sep 1 17:57:50 2020 +0200
cov: explicitely ignore function result
---
base/data-struct/radix-tree-adaptive.c | 2 +-
lib/label/hints.c | 2 +-
tools/command.c | 4 ++--
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/base/data-struct/radix-tree-adaptive.c b/base/data-struct/radix-tree-adaptive.c
index 3a46cc14b..121a2910c 100644
--- a/base/data-struct/radix-tree-adaptive.c
+++ b/base/data-struct/radix-tree-adaptive.c
@@ -1032,7 +1032,7 @@ void radix_tree_iterate(struct radix_tree *rt, uint8_t *kb, uint8_t *ke,
{
struct lookup_result lr = _lookup_prefix(&rt->root, kb, ke);
if (lr.kb == ke || _prefix_chain_matches(&lr, ke))
- _iterate(lr.v, it);
+ (void) _iterate(lr.v, it);
}
//----------------------------------------------------------------
diff --git a/lib/label/hints.c b/lib/label/hints.c
index c9d339861..55f55900d 100644
--- a/lib/label/hints.c
+++ b/lib/label/hints.c
@@ -966,7 +966,7 @@ int write_hint_file(struct cmd_context *cmd, int newhints)
* detect when the devices on the system change, which
* invalidates the existing hints.
*/
- strncpy(devpath, dev_name(dev), PATH_MAX);
+ (void) dm_strncpy(devpath, dev_name(dev), sizeof(devpath));
hash = calc_crc(hash, (const uint8_t *)devpath, strlen(devpath));
count++;
diff --git a/tools/command.c b/tools/command.c
index 2d0184941..4fc55e2be 100644
--- a/tools/command.c
+++ b/tools/command.c
@@ -367,7 +367,7 @@ static int _opt_str_to_num(struct command *cmd, char *str)
int i;
int first = 0, last = ARG_COUNT - 1, middle;
- dm_strncpy(long_name, str, sizeof(long_name));
+ (void) dm_strncpy(long_name, str, sizeof(long_name));
if ((p = strstr(long_name, "_long")))
/*
@@ -802,7 +802,7 @@ static char *_get_oo_line(const char *str)
char str2[OO_NAME_LEN];
int i;
- dm_strncpy(str2, str, sizeof(str2));
+ (void) dm_strncpy(str2, str, sizeof(str2));
if ((end = strchr(str2, ':')))
*end = '\0';
if ((end = strchr(str2, ',')))
3 years, 8 months
master - cov: always sure we end with '0'
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=1705b439b1babfcae75...
Commit: 1705b439b1babfcae75b1d54d45eb7909cbccfb9
Parent: de837c15a55f4951f0b3181f4835fed2d824698b
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Sat Aug 29 19:56:37 2020 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Tue Sep 1 17:57:50 2020 +0200
cov: always sure we end with '0'
Use easier dm_strncpy().
---
lib/label/hints.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/lib/label/hints.c b/lib/label/hints.c
index 3125ae01d..c9d339861 100644
--- a/lib/label/hints.c
+++ b/lib/label/hints.c
@@ -818,8 +818,7 @@ static int _read_hint_file(struct cmd_context *cmd, struct dm_list *hints, int *
while ((dev = dev_iter_get(cmd, iter))) {
if (!_dev_in_hint_hash(cmd, dev))
continue;
- memset(devpath, 0, sizeof(devpath));
- strncpy(devpath, dev_name(dev), PATH_MAX);
+ (void) dm_strncpy(devpath, dev_name(dev), sizeof(devpath));
calc_hash = calc_crc(calc_hash, (const uint8_t *)devpath, strlen(devpath));
calc_count++;
}
3 years, 8 months
master - gcc: keep using unsigned type
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=de837c15a55f4951f0b...
Commit: de837c15a55f4951f0b3181f4835fed2d824698b
Parent: 534760398c54aaa67144ddd7303456da8758674a
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Sat Aug 29 22:24:34 2020 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Tue Sep 1 17:57:50 2020 +0200
gcc: keep using unsigned type
---
device_mapper/all.h | 2 +-
libdm/libdevmapper.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/device_mapper/all.h b/device_mapper/all.h
index ace3b69a0..df47d1a5a 100644
--- a/device_mapper/all.h
+++ b/device_mapper/all.h
@@ -1317,7 +1317,7 @@ int dm_bit_get_next(dm_bitset_t bs, int last_bit);
int dm_bit_get_last(dm_bitset_t bs);
int dm_bit_get_prev(dm_bitset_t bs, int last_bit);
-#define DM_BITS_PER_INT (sizeof(int) * CHAR_BIT)
+#define DM_BITS_PER_INT ((unsigned)sizeof(int) * CHAR_BIT)
#define dm_bit(bs, i) \
((bs)[((i) / DM_BITS_PER_INT) + 1] & (0x1 << ((i) & (DM_BITS_PER_INT - 1))))
diff --git a/libdm/libdevmapper.h b/libdm/libdevmapper.h
index 059b96f0b..a61ffe17e 100644
--- a/libdm/libdevmapper.h
+++ b/libdm/libdevmapper.h
@@ -2242,7 +2242,7 @@ int dm_bit_get_next(dm_bitset_t bs, int last_bit);
int dm_bit_get_last(dm_bitset_t bs);
int dm_bit_get_prev(dm_bitset_t bs, int last_bit);
-#define DM_BITS_PER_INT (sizeof(int) * CHAR_BIT)
+#define DM_BITS_PER_INT ((unsigned)sizeof(int) * CHAR_BIT)
#define dm_bit(bs, i) \
((bs)[((i) / DM_BITS_PER_INT) + 1] & (0x1 << ((i) & (DM_BITS_PER_INT - 1))))
3 years, 8 months
master - gcc: preserve constness of buffer
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=534760398c54aaa6714...
Commit: 534760398c54aaa67144ddd7303456da8758674a
Parent: fd96f1014b11d073d775ea4777f3b3ba2eb93520
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Sat Aug 29 22:02:41 2020 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Tue Sep 1 17:57:50 2020 +0200
gcc: preserve constness of buffer
---
tools/pvck.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/tools/pvck.c b/tools/pvck.c
index a0f567eeb..3895b7dd9 100644
--- a/tools/pvck.c
+++ b/tools/pvck.c
@@ -66,9 +66,9 @@ struct metadata_file {
char vgid_str[ID_STR_SIZE];
};
-static char *_chars_to_str(void *in, void *out, int num, int max, const char *field)
+static char *_chars_to_str(const void *in, void *out, int num, int max, const char *field)
{
- char *i = in;
+ const char *i = in;
char *o = out;
int n;
@@ -95,10 +95,10 @@ static char *_chars_to_str(void *in, void *out, int num, int max, const char *fi
* This is used to print mda_header.magic as a series of hex values
* since it only contains some printable chars.
*/
-static char *_chars_to_hexstr(void *in, void *out, int num, int max, const char *field)
+static char *_chars_to_hexstr(const void *in, void *out, int num, int max, const char *field)
{
char *tmp;
- char *i = in;
+ const char *i = in;
int n;
int off = 0;
int ret;
@@ -732,7 +732,7 @@ static int _check_mda_header(struct mda_header *mh, int mda_num, uint64_t mda_of
}
if (memcmp(mh->magic, FMTT_MAGIC, sizeof(mh->magic))) {
- log_print("CHECK: mda_header_%d.magic expected 0x%s", mda_num, _chars_to_hexstr((void *)&FMTT_MAGIC, str, 16, 256, "mda_header.magic"));
+ log_print("CHECK: mda_header_%d.magic expected 0x%s", mda_num, _chars_to_hexstr((const void *)&FMTT_MAGIC, str, 16, 256, "mda_header.magic"));
good_magic = 0;
bad++;
}
3 years, 8 months
master - gcc: zero-sized array to fexlible array C99
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=fd96f1014b11d073d77...
Commit: fd96f1014b11d073d775ea4777f3b3ba2eb93520
Parent: cc2218b4014015bd2633454e683293851183e08c
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Fri Aug 28 19:15:01 2020 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Tue Sep 1 17:57:50 2020 +0200
gcc: zero-sized array to fexlible array C99
Switch remaining zero sized struct to flexible arrays to be C99
complient.
These simple rules should apply:
- The incomplete array type must be the last element within the structure.
- There cannot be an array of structures that contain a flexible array member.
- Structures that contain a flexible array member cannot be used as a member of another structure.
- The structure must contain at least one named member in addition to the flexible array member.
Although some of the code pieces should be still improved.
---
WHATS_NEW | 1 +
base/data-struct/hash.c | 2 +-
base/data-struct/radix-tree-adaptive.c | 2 +-
daemons/lvmlockd/lvmlockd-internal.h | 2 +-
device_mapper/all.h | 6 +++---
device_mapper/misc/dm-ioctl.h | 8 ++++----
lib/device/dev-cache.c | 2 +-
lib/format_text/layout.h | 6 +++---
lib/label/label.c | 2 +-
lib/metadata/lv_manip.c | 2 +-
libdm/datastruct/hash.c | 2 +-
libdm/libdevmapper.h | 6 +++---
libdm/libdm-stats.c | 2 +-
libdm/misc/dm-ioctl.h | 8 ++++----
tools/tools.h | 2 +-
15 files changed, 27 insertions(+), 26 deletions(-)
diff --git a/WHATS_NEW b/WHATS_NEW
index 3c84ea867..1fffbb5d7 100644
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,6 @@
Version 2.03.11 -
==================================
+ Switch code base to use flexible array syntax.
Fix 64bit math when calculation cachevol size.
Preserve uint32_t for seqno handling.
Switch from mmap to plain read when loading regular files.
diff --git a/base/data-struct/hash.c b/base/data-struct/hash.c
index 0a0541d2e..5ef5ed276 100644
--- a/base/data-struct/hash.c
+++ b/base/data-struct/hash.c
@@ -22,7 +22,7 @@ struct dm_hash_node {
void *data;
unsigned data_len;
unsigned keylen;
- char key[0];
+ char key[];
};
struct dm_hash_table {
diff --git a/base/data-struct/radix-tree-adaptive.c b/base/data-struct/radix-tree-adaptive.c
index b9ba4179f..3a46cc14b 100644
--- a/base/data-struct/radix-tree-adaptive.c
+++ b/base/data-struct/radix-tree-adaptive.c
@@ -47,7 +47,7 @@ struct value_chain {
struct prefix_chain {
struct value child;
unsigned len;
- uint8_t prefix[0];
+ uint8_t prefix[];
};
struct node4 {
diff --git a/daemons/lvmlockd/lvmlockd-internal.h b/daemons/lvmlockd/lvmlockd-internal.h
index 191c44926..14bdfeed0 100644
--- a/daemons/lvmlockd/lvmlockd-internal.h
+++ b/daemons/lvmlockd/lvmlockd-internal.h
@@ -158,7 +158,7 @@ struct resource {
struct list_head locks;
struct list_head actions;
char lv_args[MAX_ARGS+1];
- char lm_data[0]; /* lock manager specific data */
+ char lm_data[]; /* lock manager specific data */
};
#define LD_LF_PERSISTENT 0x00000001
diff --git a/device_mapper/all.h b/device_mapper/all.h
index c3c6219e3..ace3b69a0 100644
--- a/device_mapper/all.h
+++ b/device_mapper/all.h
@@ -164,20 +164,20 @@ struct dm_info {
struct dm_deps {
uint32_t count;
uint32_t filler;
- uint64_t device[0];
+ uint64_t device[];
};
struct dm_names {
uint64_t dev;
uint32_t next; /* Offset to next struct from start of this struct */
- char name[0];
+ char name[];
};
struct dm_versions {
uint32_t next; /* Offset to next struct from start of this struct */
uint32_t version[3];
- char name[0];
+ char name[];
};
int dm_get_library_version(char *version, size_t size);
diff --git a/device_mapper/misc/dm-ioctl.h b/device_mapper/misc/dm-ioctl.h
index cc2374c36..49954a764 100644
--- a/device_mapper/misc/dm-ioctl.h
+++ b/device_mapper/misc/dm-ioctl.h
@@ -183,7 +183,7 @@ struct dm_target_spec {
struct dm_target_deps {
uint32_t count; /* Array size */
uint32_t padding; /* unused */
- uint64_t dev[0]; /* out */
+ uint64_t dev[]; /* out */
};
/*
@@ -193,7 +193,7 @@ struct dm_name_list {
uint64_t dev;
uint32_t next; /* offset to the next record from
the _start_ of this */
- char name[0];
+ char name[];
};
/*
@@ -203,7 +203,7 @@ struct dm_target_versions {
uint32_t next;
uint32_t version[3];
- char name[0];
+ char name[];
};
/*
@@ -212,7 +212,7 @@ struct dm_target_versions {
struct dm_target_msg {
uint64_t sector; /* Device sector */
- char message[0];
+ char message[];
};
/*
diff --git a/lib/device/dev-cache.c b/lib/device/dev-cache.c
index c3f7c49be..d4e2658aa 100644
--- a/lib/device/dev-cache.c
+++ b/lib/device/dev-cache.c
@@ -35,7 +35,7 @@ struct dev_iter {
struct dir_list {
struct dm_list list;
- char dir[0];
+ char dir[];
};
static struct {
diff --git a/lib/format_text/layout.h b/lib/format_text/layout.h
index c3dfe8e7a..df7ed3a78 100644
--- a/lib/format_text/layout.h
+++ b/lib/format_text/layout.h
@@ -33,7 +33,7 @@ struct pv_header_extension {
uint32_t version;
uint32_t flags;
/* NULL-terminated list of bootloader areas */
- struct disk_locn bootloader_areas_xl[0];
+ struct disk_locn bootloader_areas_xl[];
} __attribute__ ((packed));
/* Fields with the suffix _xl should be xlate'd wherever they appear */
@@ -46,7 +46,7 @@ struct pv_header {
/* NULL-terminated list of data areas followed by */
/* NULL-terminated list of metadata area headers */
- struct disk_locn disk_areas_xl[0]; /* Two lists */
+ struct disk_locn disk_areas_xl[]; /* Two lists */
} __attribute__ ((packed));
/*
@@ -76,7 +76,7 @@ struct mda_header {
uint64_t start; /* Absolute start byte of mda_header */
uint64_t size; /* Size of metadata area */
- struct raw_locn raw_locns[0]; /* NULL-terminated list */
+ struct raw_locn raw_locns[]; /* NULL-terminated list */
} __attribute__ ((packed));
struct mda_header *raw_read_mda_header(const struct format_type *fmt,
diff --git a/lib/label/label.c b/lib/label/label.c
index 4d369d4f1..8e68f9303 100644
--- a/lib/label/label.c
+++ b/lib/label/label.c
@@ -43,7 +43,7 @@ struct labeller_i {
struct dm_list list;
struct labeller *l;
- char name[0];
+ char name[];
};
static struct dm_list _labellers;
diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c
index c47ec72e2..95ca2df39 100644
--- a/lib/metadata/lv_manip.c
+++ b/lib/metadata/lv_manip.c
@@ -1798,7 +1798,7 @@ struct alloc_handle {
* Contains area_count lists of areas allocated to data stripes
* followed by log_area_count lists of areas allocated to log stripes.
*/
- struct dm_list alloced_areas[0];
+ struct dm_list alloced_areas[];
};
/*
diff --git a/libdm/datastruct/hash.c b/libdm/datastruct/hash.c
index 4c940039a..726347ea2 100644
--- a/libdm/datastruct/hash.c
+++ b/libdm/datastruct/hash.c
@@ -20,7 +20,7 @@ struct dm_hash_node {
void *data;
unsigned data_len;
unsigned keylen;
- char key[0];
+ char key[];
};
struct dm_hash_table {
diff --git a/libdm/libdevmapper.h b/libdm/libdevmapper.h
index e9b140563..059b96f0b 100644
--- a/libdm/libdevmapper.h
+++ b/libdm/libdevmapper.h
@@ -165,20 +165,20 @@ struct dm_info {
struct dm_deps {
uint32_t count;
uint32_t filler;
- uint64_t device[0];
+ uint64_t device[];
};
struct dm_names {
uint64_t dev;
uint32_t next; /* Offset to next struct from start of this struct */
- char name[0];
+ char name[];
};
struct dm_versions {
uint32_t next; /* Offset to next struct from start of this struct */
uint32_t version[3];
- char name[0];
+ char name[];
};
int dm_get_library_version(char *version, size_t size);
diff --git a/libdm/libdm-stats.c b/libdm/libdm-stats.c
index 5379bed5e..f8d79d807 100644
--- a/libdm/libdm-stats.c
+++ b/libdm/libdm-stats.c
@@ -65,7 +65,7 @@ struct dm_histogram {
const struct dm_stats_region *region;
uint64_t sum; /* Sum of histogram bin counts. */
int nr_bins; /* Number of histogram bins assigned. */
- struct dm_histogram_bin bins[0];
+ struct dm_histogram_bin bins[];
};
/*
diff --git a/libdm/misc/dm-ioctl.h b/libdm/misc/dm-ioctl.h
index 52a7a93d1..55dee2148 100644
--- a/libdm/misc/dm-ioctl.h
+++ b/libdm/misc/dm-ioctl.h
@@ -183,7 +183,7 @@ struct dm_target_spec {
struct dm_target_deps {
uint32_t count; /* Array size */
uint32_t padding; /* unused */
- uint64_t dev[0]; /* out */
+ uint64_t dev[]; /* out */
};
/*
@@ -193,7 +193,7 @@ struct dm_name_list {
uint64_t dev;
uint32_t next; /* offset to the next record from
the _start_ of this */
- char name[0];
+ char name[];
};
/*
@@ -203,7 +203,7 @@ struct dm_target_versions {
uint32_t next;
uint32_t version[3];
- char name[0];
+ char name[];
};
/*
@@ -212,7 +212,7 @@ struct dm_target_versions {
struct dm_target_msg {
uint64_t sector; /* Device sector */
- char message[0];
+ char message[];
};
/*
diff --git a/tools/tools.h b/tools/tools.h
index 4b944e2fd..befff5708 100644
--- a/tools/tools.h
+++ b/tools/tools.h
@@ -110,7 +110,7 @@ struct arg_values {
struct arg_value_group_list {
struct dm_list list;
uint32_t prio;
- struct arg_values arg_values[0];
+ struct arg_values arg_values[];
};
#define PERMITTED_READ_ONLY 0x00000002
3 years, 8 months
master - gcc: change zero-sized array to fexlible array
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=cc2218b4014015bd263...
Commit: cc2218b4014015bd2633454e683293851183e08c
Parent: 0f377a04e5563166e4b865e92bc36d088107561a
Author: Zhao Heming <heming.zhao(a)suse.com>
AuthorDate: Fri Aug 21 00:05:04 2020 +0800
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Tue Sep 1 17:57:50 2020 +0200
gcc: change zero-sized array to fexlible array
this patch makes gcc happy with compiling option: [-Wstringop-overflow=]
Signed-off-by: Zhao Heming <heming.zhao(a)suse.com>
---
device_mapper/libdm-common.c | 2 +-
lib/activate/fs.c | 2 +-
libdm/libdm-common.c | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/device_mapper/libdm-common.c b/device_mapper/libdm-common.c
index b6d08f557..9b87e4e74 100644
--- a/device_mapper/libdm-common.c
+++ b/device_mapper/libdm-common.c
@@ -1445,7 +1445,7 @@ struct node_op_parms {
char *old_name;
int warn_if_udev_failed;
unsigned rely_on_udev;
- char names[0];
+ char names[];
};
static void _store_str(char **pos, char **ptr, const char *str)
diff --git a/lib/activate/fs.c b/lib/activate/fs.c
index b2c99fc06..96f7df678 100644
--- a/lib/activate/fs.c
+++ b/lib/activate/fs.c
@@ -313,7 +313,7 @@ struct fs_op_parms {
char *lv_name;
char *dev;
char *old_lv_name;
- char names[0];
+ char names[];
};
static void _store_str(char **pos, char **ptr, const char *str)
diff --git a/libdm/libdm-common.c b/libdm/libdm-common.c
index 466c74bb9..a28829765 100644
--- a/libdm/libdm-common.c
+++ b/libdm/libdm-common.c
@@ -1443,7 +1443,7 @@ struct node_op_parms {
char *old_name;
int warn_if_udev_failed;
unsigned rely_on_udev;
- char names[0];
+ char names[];
};
static void _store_str(char **pos, char **ptr, const char *str)
3 years, 8 months
master - dmsetup: initilize winsize struct
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=0f377a04e5563166e4b...
Commit: 0f377a04e5563166e4b865e92bc36d088107561a
Parent: 2fbc578cfa0bde161b7583978537d2023e5d6e0c
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Sat Aug 29 20:35:49 2020 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Tue Sep 1 17:57:50 2020 +0200
dmsetup: initilize winsize struct
Ensure winsize struct is always defined.
---
libdm/dm-tools/dmsetup.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libdm/dm-tools/dmsetup.c b/libdm/dm-tools/dmsetup.c
index bf2762ae7..46fa81069 100644
--- a/libdm/dm-tools/dmsetup.c
+++ b/libdm/dm-tools/dmsetup.c
@@ -6494,7 +6494,7 @@ static int _stats(CMD_ARGS)
static int _process_tree_options(const char *options)
{
const char *s, *end;
- struct winsize winsz;
+ struct winsize winsz = { 0 };
size_t len;
/* Symbol set default */
3 years, 8 months