master - dmsetup: cleanup warn for older compilers
by Zdenek Kabelac
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=84a954686903b7...
Commit: 84a954686903b705eb0733a1bc02a7ac66728779
Parent: 5aae8de7760e321ad1fd6e88128379640df31c29
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Mon Nov 9 10:48:40 2015 +0100
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Mon Nov 9 12:21:17 2015 +0100
dmsetup: cleanup warn for older compilers
Older gcc somehow thinks there is a path of using
subcommand uninitilized.
So make it more obvious there is no such one.
---
tools/dmsetup.c | 5 ++---
1 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/tools/dmsetup.c b/tools/dmsetup.c
index 15bff64..bfba753 100644
--- a/tools/dmsetup.c
+++ b/tools/dmsetup.c
@@ -6132,7 +6132,7 @@ int main(int argc, char **argv)
int ret = 1, r;
const char *dev_dir;
const struct command *cmd;
- const char *subcommand;
+ const char *subcommand = "";
int multiple_devices;
(void) setlocale(LC_ALL, "");
@@ -6227,8 +6227,7 @@ unknown:
if (cmd->has_subcommands) {
subcommand = argv[0];
argc--, argv++;
- } else
- subcommand = "";
+ }
if (_switches[COLS_ARG] && !_report_init(cmd, subcommand))
goto_out;
8 years, 6 months
master - lvmetad: maintain seqno as int
by Zdenek Kabelac
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=5aae8de7760e32...
Commit: 5aae8de7760e321ad1fd6e88128379640df31c29
Parent: 57c2a1ae8c9f59d301ff34068fa893f04f713fe2
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Mon Nov 9 10:36:23 2015 +0100
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Mon Nov 9 12:21:17 2015 +0100
lvmetad: maintain seqno as int
Keep seqno as 32bit value.
Also use '_' prefix for local _update_metadata.
---
daemons/lvmetad/lvmetad-core.c | 24 ++++++++++++------------
1 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/daemons/lvmetad/lvmetad-core.c b/daemons/lvmetad/lvmetad-core.c
index eb343ab..69dc961 100644
--- a/daemons/lvmetad/lvmetad-core.c
+++ b/daemons/lvmetad/lvmetad-core.c
@@ -1327,9 +1327,9 @@ out_free:
* pvid and ret_old_seq are both NULL.
*/
-static int update_metadata(lvmetad_state *s, const char *arg_name, const char *arg_vgid,
- struct dm_config_node *new_metadata, int64_t *ret_old_seq,
- const char *pvid)
+static int _update_metadata(lvmetad_state *s, const char *arg_name, const char *arg_vgid,
+ struct dm_config_node *new_metadata, int *ret_old_seq,
+ const char *pvid)
{
struct dm_config_tree *old_meta = NULL;
struct dm_config_tree *new_meta = NULL;
@@ -2083,10 +2083,10 @@ static response pv_found(lvmetad_state *s, request r)
uint64_t arg_device_lookup = 0;
uint64_t new_device = 0;
uint64_t old_device = 0;
- int64_t arg_seqno = -1;
- int64_t old_seqno = -1;
- int64_t vg_status_seqno = -1;
- int64_t changed = 0;
+ int arg_seqno = -1;
+ int old_seqno = -1;
+ int vg_status_seqno = -1;
+ int changed = 0;
/*
* New input values.
@@ -2383,9 +2383,9 @@ static response pv_found(lvmetad_state *s, request r)
* name of the VG so we can check if the VG is complete.
*/
if (arg_vgmeta) {
- DEBUGLOG(s, "pv_found pvid %s has VG %s %s seqno %ld", arg_pvid, arg_name, arg_vgid, arg_seqno);
+ DEBUGLOG(s, "pv_found pvid %s has VG %s %s seqno %d", arg_pvid, arg_name, arg_vgid, arg_seqno);
- if (!update_metadata(s, arg_name, arg_vgid, arg_vgmeta, &old_seqno, arg_pvid)) {
+ if (!_update_metadata(s, arg_name, arg_vgid, arg_vgmeta, &old_seqno, arg_pvid)) {
ERROR(s, "Cannot use VG metadata for %s %s from PV %s on %" PRIu64,
arg_name, arg_vgid, arg_pvid, arg_device);
}
@@ -2470,8 +2470,8 @@ static response pv_found(lvmetad_state *s, request r)
"changed = %d", changed,
"vgid = %s", arg_vgid ? arg_vgid : "#orphan",
"vgname = %s", arg_name ? arg_name : "#orphan",
- "seqno_before = %"PRId64, old_seqno,
- "seqno_after = %"PRId64, vg_status_seqno,
+ "seqno_before = %d", old_seqno,
+ "seqno_after = %d", vg_status_seqno,
NULL);
nomem:
@@ -2544,7 +2544,7 @@ static response vg_update(lvmetad_state *s, request r)
/* TODO defer metadata update here; add a separate vg_commit
* call; if client does not commit, die */
- if (!update_metadata(s, vgname, vgid, metadata, NULL, NULL)) {
+ if (!_update_metadata(s, vgname, vgid, metadata, NULL, NULL)) {
ERROR(s, "vg_update failed: metadata update failed");
reply_fail("vg_update: failed metadata update");
goto fail;
8 years, 6 months
master - raid: mark intententional copy and paste
by Zdenek Kabelac
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=57c2a1ae8c9f59...
Commit: 57c2a1ae8c9f59d301ff34068fa893f04f713fe2
Parent: 846adadbcc0356e2642ac211de3235f2bfb105a6
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Mon Nov 9 09:30:31 2015 +0100
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Mon Nov 9 10:22:52 2015 +0100
raid: mark intententional copy and paste
Coverity: add this extra comment, to let Coverity know this
slightly changed copy&paste code is intentional.
---
lib/metadata/raid_manip.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/lib/metadata/raid_manip.c b/lib/metadata/raid_manip.c
index c420733..ee1f2be 100644
--- a/lib/metadata/raid_manip.c
+++ b/lib/metadata/raid_manip.c
@@ -1802,6 +1802,7 @@ try_again:
lvl = dm_list_item(dm_list_first(&new_data_lvs),
struct lv_list);
dm_list_del(&lvl->list);
+ /* coverity[copy_paste_error] intentional */
if (!(tmp_names[sd] = _generate_raid_name(lv, "rimage", s)))
return_0;
if (!set_lv_segment_area_lv(raid_seg, s, lvl->lv, 0,
8 years, 6 months
master - cleanup: use code in place
by Zdenek Kabelac
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=846adadbcc0356...
Commit: 846adadbcc0356e2642ac211de3235f2bfb105a6
Parent: 22e19cb354d813e4be9a461c16bf27205c86d71e
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Mon Nov 9 09:33:56 2015 +0100
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Mon Nov 9 10:22:52 2015 +0100
cleanup: use code in place
Pass const strings to printf(),
and use struct names directly instead of creating unused vars on stack.
---
libdm/libdm-stats.c | 12 +++++-------
1 files changed, 5 insertions(+), 7 deletions(-)
diff --git a/libdm/libdm-stats.c b/libdm/libdm-stats.c
index 505b062..1811e8a 100644
--- a/libdm/libdm-stats.c
+++ b/libdm/libdm-stats.c
@@ -1228,20 +1228,19 @@ static struct dm_task *_stats_print_region(struct dm_stats *dms,
unsigned num_lines, unsigned clear)
{
/* @stats_print[_clear] <region_id> [<start_line> <num_lines>] */
- const char *clear_str = "_clear", *lines_fmt = "%u %u";
- const char *msg_fmt = "@stats_print%s " FMTu64 " %s";
const char *err_fmt = "Could not prepare @stats_print %s.";
struct dm_task *dmt = NULL;
char msg[1024], lines[64];
if (start_line || num_lines)
if (!dm_snprintf(lines, sizeof(lines),
- lines_fmt, start_line, num_lines)) {
+ "%u %u", start_line, num_lines)) {
log_error(err_fmt, "row specification");
return NULL;
}
- if (!dm_snprintf(msg, sizeof(msg), msg_fmt, (clear) ? clear_str : "",
+ if (!dm_snprintf(msg, sizeof(msg), "@stats_print%s " FMTu64 " %s",
+ (clear) ? "_clear" : "",
region_id, (start_line || num_lines) ? lines : "")) {
log_error(err_fmt, "message");
return NULL;
@@ -1981,10 +1980,9 @@ dm_percent_t dm_histogram_get_bin_percent(const struct dm_histogram *dmh,
*/
static struct dm_histogram *_alloc_dm_histogram(int nr_bins)
{
- struct dm_histogram *dmh = NULL;
- struct dm_histogram_bin *cur = NULL;
/* Allocate space for dm_histogram + nr_entries. */
- size_t size = sizeof(*dmh) + (unsigned) nr_bins * sizeof(*cur);
+ size_t size = sizeof(struct dm_histogram) +
+ (unsigned) nr_bins * sizeof(struct dm_histogram_bin);
return dm_zalloc(size);
}
8 years, 6 months
master - cleanup: reoder rstatus init
by Zdenek Kabelac
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=22e19cb354d813...
Commit: 22e19cb354d813e4be9a461c16bf27205c86d71e
Parent: b1dab26be0ee7eec11a6e91ab715808ddf016355
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Sun Nov 8 17:18:23 2015 +0100
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Mon Nov 9 10:22:52 2015 +0100
cleanup: reoder rstatus init
In all error paths always initialize *rstatus.
---
lib/misc/lvm-exec.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/lib/misc/lvm-exec.c b/lib/misc/lvm-exec.c
index e414524..a3a629b 100644
--- a/lib/misc/lvm-exec.c
+++ b/lib/misc/lvm-exec.c
@@ -53,14 +53,14 @@ int exec_cmd(struct cmd_context *cmd, const char *const argv[],
int status;
char buf[PATH_MAX * 2];
+ if (rstatus)
+ *rstatus = -1;
+
if (!argv[0]) {
log_error(INTERNAL_ERROR "Missing command.");
return 0;
}
- if (rstatus)
- *rstatus = -1;
-
if (sync_needed)
/* Flush ops and reset dm cookie */
if (!sync_local_dev_names(cmd)) {
8 years, 6 months
master - cleanup: coverity quiet
by Zdenek Kabelac
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=b1dab26be0ee7e...
Commit: b1dab26be0ee7eec11a6e91ab715808ddf016355
Parent: 11151121aa25c331cdb821281b0c4719bed040ea
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Sun Nov 8 17:01:59 2015 +0100
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Mon Nov 9 10:22:52 2015 +0100
cleanup: coverity quiet
While through all codepaths we never 'read' lock_id unless LCKF_CONVERT,
coverity cannot decrypt this.
As since it's usually better to pass in 'well-defined' data structures
preset lock_id to 0.
---
daemons/clvmd/lvm-functions.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/daemons/clvmd/lvm-functions.c b/daemons/clvmd/lvm-functions.c
index 99e7317..ae9d22b 100644
--- a/daemons/clvmd/lvm-functions.c
+++ b/daemons/clvmd/lvm-functions.c
@@ -291,6 +291,7 @@ static int hold_lock(char *resource, int mode, int flags)
}
lvi->lock_mode = mode;
+ lvi->lock_id = 0;
status = sync_lock(resource, mode, flags & ~LCKF_CONVERT, &lvi->lock_id);
saved_errno = errno;
if (status) {
8 years, 6 months
master - cleanup: use fputs for plain strings
by Zdenek Kabelac
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=11151121aa25c3...
Commit: 11151121aa25c331cdb821281b0c4719bed040ea
Parent: c4c5635870c7273e61a0832431d264b8cf11a62f
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Sat Nov 7 21:15:05 2015 +0100
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Mon Nov 9 10:22:52 2015 +0100
cleanup: use fputs for plain strings
Use fputs() when printing plain string,
easier then fprintf which needs to parse it.
Also check fd before close is >= 0 -
it is - but coverity fail to see it, so eliminate
this false-positive warning.
---
daemons/dmeventd/dmeventd.c | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/daemons/dmeventd/dmeventd.c b/daemons/dmeventd/dmeventd.c
index 6c04c1b..b7fff9a 100644
--- a/daemons/dmeventd/dmeventd.c
+++ b/daemons/dmeventd/dmeventd.c
@@ -1956,21 +1956,21 @@ static int _reinstate_registrations(struct dm_event_fifos *fifos)
!(dev_name = strtok(NULL, _delim)) ||
!(mask = strtok(NULL, _delim)) ||
!(timeout = strtok(NULL, _delim))) {
- fprintf(stderr, _failed_parsing_msg);
+ fputs(_failed_parsing_msg, stderr);
continue;
}
errno = 0;
mask_value = strtoul(mask, &endp, 10);
if (errno || !endp || *endp) {
- fprintf(stderr, _failed_parsing_msg);
+ fputs(_failed_parsing_msg, stderr);
continue;
}
errno = 0;
timeout_value = strtoul(timeout, &endp, 10);
if (errno || !endp || *endp) {
- fprintf(stderr, _failed_parsing_msg);
+ fputs(_failed_parsing_msg, stderr);
continue;
}
@@ -2255,9 +2255,9 @@ int main(int argc, char *argv[])
log_notice("dmeventd shutting down.");
- if (close(fifos.client))
+ if (fifos.client >= 0 && close(fifos.client))
log_sys_error("client close", fifos.client_path);
- if (close(fifos.server))
+ if (fifos.server >= 0 && close(fifos.server))
log_sys_error("server close", fifos.server_path);
if (_use_syslog)
8 years, 6 months
master - cleanup: drop unneeded assign
by Zdenek Kabelac
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=c4c5635870c727...
Commit: c4c5635870c7273e61a0832431d264b8cf11a62f
Parent: e262d5e596202498c5b0d773cd54c1b2ecdb4f94
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Sat Nov 7 20:41:15 2015 +0100
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Mon Nov 9 10:22:52 2015 +0100
cleanup: drop unneeded assign
prio is always assigned later.
---
daemons/dmeventd/libdevmapper-event.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/daemons/dmeventd/libdevmapper-event.c b/daemons/dmeventd/libdevmapper-event.c
index 85eab5a..359dfdd 100644
--- a/daemons/dmeventd/libdevmapper-event.c
+++ b/daemons/dmeventd/libdevmapper-event.c
@@ -838,7 +838,7 @@ void dm_event_log(const char *subsys, int level, const char *file,
static time_t start = 0;
const char *indent = "";
FILE *stream = stdout;
- int prio = -1;
+ int prio;
time_t now;
switch (level & ~(_LOG_STDERR | _LOG_ONCE)) {
8 years, 6 months
master - cleanup: keep using enum typedef
by Zdenek Kabelac
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=e262d5e5962024...
Commit: e262d5e596202498c5b0d773cd54c1b2ecdb4f94
Parent: 9b9b5d0ea23baf043d0a936662f0741d769cee04
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Sat Nov 7 17:17:37 2015 +0100
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Mon Nov 9 10:22:52 2015 +0100
cleanup: keep using enum typedef
Using enum instead of unsigned.
---
lib/device/device.h | 2 +-
lib/misc/lvm-globals.c | 6 +++---
lib/misc/lvm-globals.h | 6 ++++--
3 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/lib/device/device.h b/lib/device/device.h
index 733b0d0..b5e07d5 100644
--- a/lib/device/device.h
+++ b/lib/device/device.h
@@ -33,7 +33,7 @@
* Any new external device info source needs to be
* registered using EXT_REGISTER macro in dev-ext.c.
*/
-typedef enum {
+typedef enum dev_ext_e {
DEV_EXT_NONE,
DEV_EXT_UDEV,
DEV_EXT_NUM
diff --git a/lib/misc/lvm-globals.c b/lib/misc/lvm-globals.c
index 06c36e2..01f10a7 100644
--- a/lib/misc/lvm-globals.c
+++ b/lib/misc/lvm-globals.c
@@ -30,7 +30,7 @@ static int _fwraid_filtering = 0;
static int _pvmove = 0;
static int _full_scan_done = 0; /* Restrict to one full scan during each cmd */
static int _obtain_device_list_from_udev = DEFAULT_OBTAIN_DEVICE_LIST_FROM_UDEV;
-static unsigned _external_device_info_source = DEV_EXT_NONE;
+static enum dev_ext_e _external_device_info_source = DEV_EXT_NONE;
static int _trust_cache = 0; /* Don't scan when incomplete VGs encountered */
static int _debug_level = 0;
static int _debug_classes_logged = 0;
@@ -98,7 +98,7 @@ void init_obtain_device_list_from_udev(int device_list_from_udev)
_obtain_device_list_from_udev = device_list_from_udev;
}
-void init_external_device_info_source(unsigned src)
+void init_external_device_info_source(enum dev_ext_e src)
{
_external_device_info_source = src;
}
@@ -261,7 +261,7 @@ int obtain_device_list_from_udev(void)
return _obtain_device_list_from_udev;
}
-unsigned external_device_info_source(void)
+enum dev_ext_e external_device_info_source(void)
{
return _external_device_info_source;
}
diff --git a/lib/misc/lvm-globals.h b/lib/misc/lvm-globals.h
index 132af96..185a45f 100644
--- a/lib/misc/lvm-globals.h
+++ b/lib/misc/lvm-globals.h
@@ -20,6 +20,8 @@
#define SECURITY_LEVEL 0
#define PV_MIN_SIZE_KB 512
+enum dev_ext_e;
+
void init_verbose(int level);
void init_silent(int silent);
void init_test(int level);
@@ -27,7 +29,7 @@ void init_md_filtering(int level);
void init_fwraid_filtering(int level);
void init_pvmove(int level);
void init_full_scan_done(int level);
-void init_external_device_info_source(unsigned src);
+void init_external_device_info_source(enum dev_ext_e src);
void init_obtain_device_list_from_udev(int device_list_from_udev);
void init_trust_cache(int trustcache);
void init_debug(int level);
@@ -61,7 +63,7 @@ int fwraid_filtering(void);
int pvmove_mode(void);
int full_scan_done(void);
int obtain_device_list_from_udev(void);
-unsigned external_device_info_source(void);
+enum dev_ext_e external_device_info_source(void);
int trust_cache(void);
int verbose_level(void);
int silent_mode(void);
8 years, 6 months
master - cleanup: use 64bit multiply for print
by Zdenek Kabelac
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=9b9b5d0ea23baf...
Commit: 9b9b5d0ea23baf043d0a936662f0741d769cee04
Parent: f6d2528f648b2cfad0d516fc6f0444a2570579f2
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Sat Nov 7 17:16:49 2015 +0100
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Mon Nov 9 10:22:52 2015 +0100
cleanup: use 64bit multiply for print
---
lib/metadata/lv_manip.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c
index 74b574a..4e4a025 100644
--- a/lib/metadata/lv_manip.c
+++ b/lib/metadata/lv_manip.c
@@ -965,8 +965,8 @@ static uint32_t _round_to_stripe_boundary(struct volume_group *vg, uint32_t exte
if ((size_rest = extents % stripes)) {
new_extents += extend ? stripes - size_rest : -size_rest;
log_print_unless_silent("Rounding size %s (%d extents) up to stripe boundary size %s (%d extents).",
- display_size(vg->cmd, extents * vg->extent_size), extents,
- display_size(vg->cmd, new_extents * vg->extent_size), new_extents);
+ display_size(vg->cmd, (uint64_t) extents * vg->extent_size), extents,
+ display_size(vg->cmd, (uint64_t) new_extents * vg->extent_size), new_extents);
}
return new_extents;
8 years, 6 months