[lvm-devel] master - lv_manip: drop cmd pointer from for_each_sub_lv
Zdenek Kabelac
zkabelac at fedoraproject.org
Thu Mar 27 12:15:19 UTC 2014
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=356fdda46d673015446e8a0410e9dfe7fa67c66e
Commit: 356fdda46d673015446e8a0410e9dfe7fa67c66e
Parent: 22579b4451b00b50ad7e6acacf9265fa41620449
Author: Zdenek Kabelac <zkabelac at redhat.com>
AuthorDate: Thu Mar 27 10:35:07 2014 +0100
Committer: Zdenek Kabelac <zkabelac at redhat.com>
CommitterDate: Thu Mar 27 13:10:13 2014 +0100
lv_manip: drop cmd pointer from for_each_sub_lv
Drop unused passed cmd pointer from function.
TODO:
We have two similar functions (though not identical)
lv_manip.c: for_each_sub_lv()
metadata.c: _lv_each_dependency()
They seem to not always match - we should probably convert
to use only a single function.
---
WHATS_NEW | 1 +
lib/activate/activate.c | 4 +-
lib/metadata/lv_manip.c | 51 +++++++++++++++++++++-------------------------
lib/metadata/metadata.h | 5 +--
4 files changed, 28 insertions(+), 33 deletions(-)
diff --git a/WHATS_NEW b/WHATS_NEW
index 71b074a..9cda1d5 100644
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,6 @@
Version 2.02.106 -
====================================
+ Drop unused cmd pointer for internal function for_each_sub_lv().
Validate name for renamed sub LVs.
When lvrename fails on argument parsing return invalid cmd line error (5->3).
Fix exit code regression in failing pvchange command (2.02.66).
diff --git a/lib/activate/activate.c b/lib/activate/activate.c
index ff13fe4..2fd1840 100644
--- a/lib/activate/activate.c
+++ b/lib/activate/activate.c
@@ -1795,7 +1795,7 @@ struct detached_lv_data {
int *flush_required;
};
-static int _preload_detached_lv(struct cmd_context *cmd, struct logical_volume *lv, void *data)
+static int _preload_detached_lv(struct logical_volume *lv, void *data)
{
struct detached_lv_data *detached = data;
struct lv_list *lvl_pre;
@@ -1897,7 +1897,7 @@ static int _lv_suspend(struct cmd_context *cmd, const char *lvid_s,
detached.laopts = laopts;
detached.flush_required = &flush_required;
- if (!for_each_sub_lv(cmd, ondisk_lv, &_preload_detached_lv, &detached))
+ if (!for_each_sub_lv(ondisk_lv, &_preload_detached_lv, &detached))
goto_out;
/*
diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c
index ae0bef2..e5ab4f7 100644
--- a/lib/metadata/lv_manip.c
+++ b/lib/metadata/lv_manip.c
@@ -78,8 +78,7 @@ struct pv_and_int {
struct physical_volume *pv;
int *i;
};
-static int _lv_is_on_pv(struct cmd_context *cmd,
- struct logical_volume *lv, void *data)
+static int _lv_is_on_pv(struct logical_volume *lv, void *data)
{
int *is_on_pv = ((struct pv_and_int *)data)->i;
struct physical_volume *pv = ((struct pv_and_int *)data)->pv;
@@ -136,8 +135,8 @@ int lv_is_on_pv(struct logical_volume *lv, struct physical_volume *pv)
int is_on_pv = 0;
struct pv_and_int context = { pv, &is_on_pv };
- if (!_lv_is_on_pv(lv->vg->cmd, lv, &context) ||
- !for_each_sub_lv(lv->vg->cmd, lv, _lv_is_on_pv, &context))
+ if (!_lv_is_on_pv(lv, &context) ||
+ !for_each_sub_lv(lv, _lv_is_on_pv, &context))
/* Failure only happens if bad arguments are passed */
log_error(INTERNAL_ERROR "for_each_sub_lv failure.");
@@ -169,8 +168,7 @@ struct dm_list_and_mempool {
struct dm_list *list;
struct dm_pool *mem;
};
-static int _get_pv_list_for_lv(struct cmd_context *cmd,
- struct logical_volume *lv, void *data)
+static int _get_pv_list_for_lv(struct logical_volume *lv, void *data)
{
int dup_found;
uint32_t s;
@@ -233,10 +231,10 @@ int get_pv_list_for_lv(struct dm_pool *mem,
log_debug_metadata("Generating list of PVs that %s/%s uses:",
lv->vg->name, lv->name);
- if (!_get_pv_list_for_lv(lv->vg->cmd, lv, &context))
+ if (!_get_pv_list_for_lv(lv, &context))
return_0;
- return for_each_sub_lv(lv->vg->cmd, lv, &_get_pv_list_for_lv, &context);
+ return for_each_sub_lv(lv, &_get_pv_list_for_lv, &context);
}
/*
@@ -3197,8 +3195,7 @@ static int _rename_single_lv(struct logical_volume *lv, char *new_name)
* Rename sub LV.
* 'lv_name_old' and 'lv_name_new' are old and new names of the main LV.
*/
-static int _rename_sub_lv(struct cmd_context *cmd,
- struct logical_volume *lv,
+static int _rename_sub_lv(struct logical_volume *lv,
const char *lv_name_old, const char *lv_name_new)
{
const char *suffix;
@@ -3246,21 +3243,19 @@ static int _rename_sub_lv(struct cmd_context *cmd,
}
/* Callback for for_each_sub_lv */
-static int _rename_cb(struct cmd_context *cmd, struct logical_volume *lv,
- void *data)
+static int _rename_cb(struct logical_volume *lv, void *data)
{
struct lv_names *lv_names = (struct lv_names *) data;
- return _rename_sub_lv(cmd, lv, lv_names->old, lv_names->new);
+ return _rename_sub_lv(lv, lv_names->old, lv_names->new);
}
/*
* Loop down sub LVs and call fn for each.
* fn is responsible to log necessary information on failure.
*/
-int for_each_sub_lv(struct cmd_context *cmd, struct logical_volume *lv,
- int (*fn)(struct cmd_context *cmd,
- struct logical_volume *lv, void *data),
+int for_each_sub_lv(struct logical_volume *lv,
+ int (*fn)(struct logical_volume *lv, void *data),
void *data)
{
struct logical_volume *org;
@@ -3268,33 +3263,33 @@ int for_each_sub_lv(struct cmd_context *cmd, struct logical_volume *lv,
uint32_t s;
if (lv_is_cow(lv) && lv_is_virtual_origin(org = origin_from_cow(lv))) {
- if (!fn(cmd, org, data))
+ if (!fn(org, data))
return_0;
- if (!for_each_sub_lv(cmd, org, fn, data))
+ if (!for_each_sub_lv(org, fn, data))
return_0;
}
dm_list_iterate_items(seg, &lv->segments) {
if (seg->log_lv) {
- if (!fn(cmd, seg->log_lv, data))
+ if (!fn(seg->log_lv, data))
return_0;
- if (!for_each_sub_lv(cmd, seg->log_lv, fn, data))
+ if (!for_each_sub_lv(seg->log_lv, fn, data))
return_0;
}
if (seg->metadata_lv) {
- if (!fn(cmd, seg->metadata_lv, data))
+ if (!fn(seg->metadata_lv, data))
return_0;
- if (!for_each_sub_lv(cmd, seg->metadata_lv, fn, data))
+ if (!for_each_sub_lv(seg->metadata_lv, fn, data))
return_0;
}
for (s = 0; s < seg->area_count; s++) {
if (seg_type(seg, s) != AREA_LV)
continue;
- if (!fn(cmd, seg_lv(seg, s), data))
+ if (!fn(seg_lv(seg, s), data))
return_0;
- if (!for_each_sub_lv(cmd, seg_lv(seg, s), fn, data))
+ if (!for_each_sub_lv(seg_lv(seg, s), fn, data))
return_0;
}
@@ -3305,9 +3300,9 @@ int for_each_sub_lv(struct cmd_context *cmd, struct logical_volume *lv,
for (s = 0; s < seg->area_count; s++) {
if (seg_metatype(seg, s) != AREA_LV)
continue;
- if (!fn(cmd, seg_metalv(seg, s), data))
+ if (!fn(seg_metalv(seg, s), data))
return_0;
- if (!for_each_sub_lv(cmd, seg_metalv(seg, s), fn, data))
+ if (!for_each_sub_lv(seg_metalv(seg, s), fn, data))
return_0;
}
}
@@ -3352,7 +3347,7 @@ int lv_rename_update(struct cmd_context *cmd, struct logical_volume *lv,
/* rename sub LVs */
lv_names.old = lv->name;
lv_names.new = new_name;
- if (!for_each_sub_lv(cmd, lv, _rename_cb, (void *) &lv_names))
+ if (!for_each_sub_lv(lv, _rename_cb, (void *) &lv_names))
return 0;
/* rename main LV */
@@ -5366,7 +5361,7 @@ struct logical_volume *insert_layer_for_lv(struct cmd_context *cmd,
if (strcmp(layer_suffix, "_tdata") == 0) {
lv_names.old = lv_where->name;
lv_names.new = layer_lv->name;
- if (!for_each_sub_lv(cmd, layer_lv, _rename_cb, (void *) &lv_names))
+ if (!for_each_sub_lv(layer_lv, _rename_cb, (void *) &lv_names))
return 0;
}
diff --git a/lib/metadata/metadata.h b/lib/metadata/metadata.h
index 83959bb..ed78cb6 100644
--- a/lib/metadata/metadata.h
+++ b/lib/metadata/metadata.h
@@ -429,9 +429,8 @@ int add_seg_to_segs_using_this_lv(struct logical_volume *lv, struct lv_segment *
int remove_seg_from_segs_using_this_lv(struct logical_volume *lv, struct lv_segment *seg);
struct lv_segment *get_only_segment_using_this_lv(struct logical_volume *lv);
-int for_each_sub_lv(struct cmd_context *cmd, struct logical_volume *lv,
- int (*fn)(struct cmd_context *cmd,
- struct logical_volume *lv, void *data),
+int for_each_sub_lv(struct logical_volume *lv,
+ int (*fn)(struct logical_volume *lv, void *data),
void *data);
int move_lv_segments(struct logical_volume *lv_to,
struct logical_volume *lv_from,
More information about the lvm-devel
mailing list