summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/lvconvert.c15
-rw-r--r--tools/lvcreate.c2
-rw-r--r--tools/lvmcmdline.c2
-rw-r--r--tools/lvresize.c13
-rw-r--r--tools/lvscan.c13
-rw-r--r--tools/polldaemon.c17
-rw-r--r--tools/tools.h6
7 files changed, 32 insertions, 36 deletions
diff --git a/tools/lvconvert.c b/tools/lvconvert.c
index 40384a0b..95b60cc6 100644
--- a/tools/lvconvert.c
+++ b/tools/lvconvert.c
@@ -425,23 +425,24 @@ static progress_t _poll_merge_progress(struct cmd_context *cmd,
const char *name __attribute__((unused)),
struct daemon_parms *parms)
{
- float percent = 0.0;
- percent_range_t percent_range;
+ percent_t percent = PERCENT_0;
- if (!lv_snapshot_percent(lv, &percent, &percent_range)) {
+ if (!lv_snapshot_percent(lv, &percent)) {
log_error("%s: Failed query for merging percentage. Aborting merge.", lv->name);
return PROGRESS_CHECK_FAILED;
- } else if (percent_range == PERCENT_INVALID) {
+ } else if (percent == PERCENT_INVALID) {
log_error("%s: Merging snapshot invalidated. Aborting merge.", lv->name);
return PROGRESS_CHECK_FAILED;
}
if (parms->progress_display)
- log_print("%s: %s: %.1f%%", lv->name, parms->progress_title, percent);
+ log_print("%s: %s: %.1f%%", lv->name, parms->progress_title,
+ percent_to_float(percent));
else
- log_verbose("%s: %s: %.1f%%", lv->name, parms->progress_title, percent);
+ log_verbose("%s: %s: %.1f%%", lv->name, parms->progress_title,
+ percent_to_float(percent));
- if (percent_range == PERCENT_0)
+ if (percent == PERCENT_0)
return PROGRESS_FINISHED_ALL;
return PROGRESS_UNFINISHED;
diff --git a/tools/lvcreate.c b/tools/lvcreate.c
index c7cc2308..dec786b8 100644
--- a/tools/lvcreate.c
+++ b/tools/lvcreate.c
@@ -19,7 +19,7 @@
#include <fcntl.h>
struct lvcreate_cmdline_params {
- percent_t percent;
+ percent_type_t percent;
uint64_t size;
char **pvs;
int pv_count;
diff --git a/tools/lvmcmdline.c b/tools/lvmcmdline.c
index 49a460de..9f20d4b4 100644
--- a/tools/lvmcmdline.c
+++ b/tools/lvmcmdline.c
@@ -126,7 +126,7 @@ sign_t arg_sign_value(struct cmd_context *cmd, int a, const sign_t def)
return arg_count(cmd, a) ? cmd->arg_values[a].sign : def;
}
-percent_t arg_percent_value(struct cmd_context *cmd, int a, const percent_t def)
+percent_type_t arg_percent_value(struct cmd_context *cmd, int a, const percent_type_t def)
{
return arg_count(cmd, a) ? cmd->arg_values[a].percent : def;
}
diff --git a/tools/lvresize.c b/tools/lvresize.c
index ca707f40..9ce73b77 100644
--- a/tools/lvresize.c
+++ b/tools/lvresize.c
@@ -31,7 +31,7 @@ struct lvresize_params {
uint32_t extents;
uint64_t size;
sign_t sign;
- percent_t percent;
+ percent_type_t percent;
enum {
LV_ANY = 0,
@@ -282,24 +282,23 @@ static int _lvresize_params(struct cmd_context *cmd, int argc, char **argv,
static int _adjust_policy_params(struct cmd_context *cmd,
struct logical_volume *lv, struct lvresize_params *lp)
{
- float percent;
- percent_range_t range;
+ percent_t percent;
int policy_threshold, policy_amount;
policy_threshold =
find_config_tree_int(cmd, "activation/snapshot_autoextend_threshold",
- DEFAULT_SNAPSHOT_AUTOEXTEND_THRESHOLD);
+ DEFAULT_SNAPSHOT_AUTOEXTEND_THRESHOLD) * PERCENT_1;
policy_amount =
find_config_tree_int(cmd, "activation/snapshot_autoextend_percent",
DEFAULT_SNAPSHOT_AUTOEXTEND_PERCENT);
- if (policy_threshold >= 100)
+ if (policy_threshold >= PERCENT_100)
return 1; /* nothing to do */
- if (!lv_snapshot_percent(lv, &percent, &range))
+ if (!lv_snapshot_percent(lv, &percent))
return_0;
- if (range != PERCENT_0_TO_100 || percent <= policy_threshold)
+ if (!(PERCENT_0 < percent && percent < PERCENT_100) || percent <= policy_threshold)
return 1; /* nothing to do */
lp->extents = policy_amount;
diff --git a/tools/lvscan.c b/tools/lvscan.c
index e028eaee..638d2f57 100644
--- a/tools/lvscan.c
+++ b/tools/lvscan.c
@@ -23,8 +23,7 @@ static int lvscan_single(struct cmd_context *cmd, struct logical_volume *lv,
uint64_t lv_capacity_total = 0;
int inkernel, snap_active = 1;
struct lv_segment *snap_seg = NULL;
- float snap_percent; /* fused, fsize; */
- percent_range_t percent_range;
+ percent_t snap_percent; /* fused, fsize; */
const char *active_str, *snapshot_str;
@@ -37,17 +36,15 @@ static int lvscan_single(struct cmd_context *cmd, struct logical_volume *lv,
origin_list) {
if (inkernel &&
(snap_active = lv_snapshot_percent(snap_seg->cow,
- &snap_percent,
- &percent_range)))
- if (percent_range == PERCENT_INVALID)
+ &snap_percent)))
+ if (snap_percent == PERCENT_INVALID)
snap_active = 0;
}
snap_seg = NULL;
} else if (lv_is_cow(lv)) {
if (inkernel &&
- (snap_active = lv_snapshot_percent(lv, &snap_percent,
- &percent_range)))
- if (percent_range == PERCENT_INVALID)
+ (snap_active = lv_snapshot_percent(lv, &snap_percent)))
+ if (snap_percent == PERCENT_INVALID)
snap_active = 0;
}
diff --git a/tools/polldaemon.c b/tools/polldaemon.c
index 41a5cd67..8372ef25 100644
--- a/tools/polldaemon.c
+++ b/tools/polldaemon.c
@@ -74,30 +74,29 @@ progress_t poll_mirror_progress(struct cmd_context *cmd,
struct logical_volume *lv, const char *name,
struct daemon_parms *parms)
{
- float segment_percent = 0.0, overall_percent = 0.0;
- percent_range_t percent_range, overall_percent_range;
+ percent_t segment_percent = PERCENT_0, overall_percent = PERCENT_0;
uint32_t event_nr = 0;
if (!lv_is_mirrored(lv) ||
!lv_mirror_percent(cmd, lv, !parms->interval, &segment_percent,
- &percent_range, &event_nr) ||
- (percent_range == PERCENT_INVALID)) {
+ &event_nr) ||
+ (segment_percent == PERCENT_INVALID)) {
log_error("ABORTING: Mirror percentage check failed.");
return PROGRESS_CHECK_FAILED;
}
- overall_percent = copy_percent(lv, &overall_percent_range);
+ overall_percent = copy_percent(lv);
if (parms->progress_display)
log_print("%s: %s: %.1f%%", name, parms->progress_title,
- overall_percent);
+ percent_to_float(overall_percent));
else
log_verbose("%s: %s: %.1f%%", name, parms->progress_title,
- overall_percent);
+ percent_to_float(overall_percent));
- if (percent_range != PERCENT_100)
+ if (segment_percent != PERCENT_100)
return PROGRESS_UNFINISHED;
- if (overall_percent_range == PERCENT_100)
+ if (overall_percent == PERCENT_100)
return PROGRESS_FINISHED_ALL;
return PROGRESS_FINISHED_SEGMENT;
diff --git a/tools/tools.h b/tools/tools.h
index 07261c8b..cfbceeb4 100644
--- a/tools/tools.h
+++ b/tools/tools.h
@@ -85,7 +85,7 @@ typedef enum {
PERCENT_LV,
PERCENT_PVS,
PERCENT_ORIGIN
-} percent_t;
+} percent_type_t;
enum {
CHANGE_AY = 0,
@@ -106,7 +106,7 @@ struct arg_values {
int64_t i64_value;
uint64_t ui64_value;
sign_t sign;
- percent_t percent;
+ percent_type_t percent;
/* void *ptr; // Currently not used. */
};
@@ -174,7 +174,7 @@ int64_t arg_int64_value(struct cmd_context *cmd, int a, const int64_t def);
uint64_t arg_uint64_value(struct cmd_context *cmd, int a, const uint64_t def);
const void *arg_ptr_value(struct cmd_context *cmd, int a, const void *def);
sign_t arg_sign_value(struct cmd_context *cmd, int a, const sign_t def);
-percent_t arg_percent_value(struct cmd_context *cmd, int a, const percent_t def);
+percent_type_t arg_percent_value(struct cmd_context *cmd, int a, const percent_type_t def);
int arg_count_increment(struct cmd_context *cmd, int a);
unsigned grouped_arg_count(const struct arg_values *av, int a);