[lvm-devel] [PATCH 08/11] Code move vg_mark_partial up in stack
Zdenek Kabelac
zkabelac at redhat.com
Fri Jun 3 19:13:26 UTC 2011
It's useful to keep the partial flag cached - so just move the call
for vg_mark_partil_lvs() into import_vg_from_config_tree().
This patch should not present any functional change.
Note: It is rather temporal solution - proper place is inside the
'read' call back - but needs some more discussion.
For now using this minor hack.
Signed-off-by: Zdenek Kabelac <zkabelac at redhat.com>
---
lib/format_text/import.c | 6 ++++++
lib/metadata/metadata.c | 5 -----
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/lib/format_text/import.c b/lib/format_text/import.c
index aa8c807..83e781b 100644
--- a/lib/format_text/import.c
+++ b/lib/format_text/import.c
@@ -136,6 +136,7 @@ struct volume_group *import_vg_from_config_tree(const struct config_tree *cft,
{
struct volume_group *vg = NULL;
struct text_vg_version_ops **vsn;
+ int vg_missing;
_init_text_import();
@@ -148,6 +149,11 @@ struct volume_group *import_vg_from_config_tree(const struct config_tree *cft,
*/
if (!(vg = (*vsn)->read_vg(fid, cft, 1)))
stack;
+ else if ((vg_missing = vg_missing_pv_count(vg))) {
+ log_verbose("There are %d physical volumes missing.",
+ vg_missing);
+ vg_mark_partial_lvs(vg, 1);
+ }
break;
}
diff --git a/lib/metadata/metadata.c b/lib/metadata/metadata.c
index dc00579..9e235a1 100644
--- a/lib/metadata/metadata.c
+++ b/lib/metadata/metadata.c
@@ -2867,11 +2867,6 @@ static struct volume_group *_vg_read(struct cmd_context *cmd,
else /* Inconsistent but we can't repair it */
correct_vg->status &= ~INCONSISTENT_VG;
- if (vg_missing_pv_count(correct_vg)) {
- log_verbose("There are %d physical volumes missing.",
- vg_missing_pv_count(correct_vg));
- vg_mark_partial_lvs(correct_vg, 1);
- }
return correct_vg;
} else {
free_vg(correct_vg);
--
1.7.5.2
More information about the lvm-devel
mailing list