[lvm-devel] [PATCH 2/4] Eliminate _check_lv_status's 'name' argument
Mike Snitzer
snitzer at redhat.com
Tue Sep 29 15:22:55 UTC 2009
_check_lv_status's 'name' argument sometimes contains a name of a VG and
sometimes name of an LV, so using it in generic code would be dangerous.
'name' was never used for anything other than progress_display.
The next patch will properly split out context specific
progress_display.
Signed-off-by: Mikulas Patocka <mpatocka at redhat.com>
Signed-off-by: Mike Snitzer <snitzer at redhat.com>
---
tools/polldaemon.c | 18 ++++++------------
1 file changed, 6 insertions(+), 12 deletions(-)
Index: lvm2/tools/polldaemon.c
===================================================================
--- lvm2.orig/tools/polldaemon.c
+++ lvm2/tools/polldaemon.c
@@ -66,7 +66,7 @@ static int _become_daemon(struct cmd_con
static int _check_lv_status(struct cmd_context *cmd,
struct volume_group *vg,
struct logical_volume *lv,
- const char *name, struct daemon_parms *parms,
+ struct daemon_parms *parms,
int *finished)
{
struct dm_list *lvs_changed;
@@ -94,12 +94,6 @@ static int _check_lv_status(struct cmd_c
}
overall_status = copy_percent(lv, &overall_percent);
- if (parms->progress_display)
- log_print("%s: %s: %.1f%%", name, parms->progress_title,
- overall_percent);
- else
- log_verbose("%s: %s: %.1f%%", name, parms->progress_title,
- overall_percent);
if (status < TARGET_STATUS_FINISHED) {
/* The only case the caller *should* try again later */
@@ -163,7 +157,7 @@ static int _wait_for_single_lv(struct cm
return 0;
}
- if (!_check_lv_status(cmd, vg, lv, name, parms, &finished)) {
+ if (!_check_lv_status(cmd, vg, lv, parms, &finished)) {
unlock_and_release_vg(cmd, vg, vg->name);
return 0;
}
@@ -180,19 +174,19 @@ static int _poll_vg(struct cmd_context *
struct daemon_parms *parms = (struct daemon_parms *) handle;
struct lv_list *lvl;
struct logical_volume *lv;
- const char *name;
int finished;
dm_list_iterate_items(lvl, &vg->lvs) {
lv = lvl->lv;
if (!(lv->status & parms->lv_type))
continue;
- if (!(name = parms->poll_fns->get_copy_name_from_lv(lv)))
+ /* NOTE don't need name but this check has significance
+ * because it skips LVs that aren't mirrored */
+ if (parms->poll_fns->get_copy_name_from_lv(lv) == NULL)
continue;
/* FIXME Need to do the activation from _set_up_pvmove here
* if it's not running and we're not aborting */
- if (_check_lv_status(cmd, vg, lv, name,
- parms, &finished) && !finished)
+ if (_check_lv_status(cmd, vg, lv, parms, &finished) && !finished)
parms->outstanding_count++;
}
More information about the lvm-devel
mailing list