[lvm-devel] master - pool: validate pool_metadata has proper suffix
Zdenek Kabelac
zkabelac at fedoraproject.org
Fri Sep 11 19:54:35 UTC 2015
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=729b035edd923554275ac7b3bc446b57f0e9f0d5
Commit: 729b035edd923554275ac7b3bc446b57f0e9f0d5
Parent: fda853b573920ccefda23ad97f54d7b4dafaa9f1
Author: Zdenek Kabelac <zkabelac at redhat.com>
AuthorDate: Fri Sep 11 20:58:58 2015 +0200
Committer: Zdenek Kabelac <zkabelac at redhat.com>
CommitterDate: Fri Sep 11 21:52:27 2015 +0200
pool: validate pool_metadata has proper suffix
---
lib/metadata/merge.c | 24 ++++++++++++++++++------
1 files changed, 18 insertions(+), 6 deletions(-)
diff --git a/lib/metadata/merge.c b/lib/metadata/merge.c
index a3e6af1..351ab39 100644
--- a/lib/metadata/merge.c
+++ b/lib/metadata/merge.c
@@ -119,12 +119,24 @@ int check_lv_segments(struct logical_volume *lv, int complete_vg)
inc_error_count;
}
- if (lv_is_pool_metadata(lv) &&
- (!(seg2 = first_seg(lv)) || !(seg2 = find_pool_seg(seg2)) ||
- seg2->metadata_lv != lv)) {
- log_error("LV %s: segment 1 pool metadata LV does not point back to same LV",
- lv->name);
- inc_error_count;
+ if (lv_is_pool_metadata(lv)) {
+ if (!(seg2 = first_seg(lv)) || !(seg2 = find_pool_seg(seg2)) ||
+ seg2->metadata_lv != lv) {
+ log_error("LV %s: segment 1 pool metadata LV does not point back to same LV",
+ lv->name);
+ inc_error_count;
+ }
+ if (lv_is_thin_pool_metadata(lv) &&
+ !strstr(lv->name, "_tmeta")) {
+ log_error("LV %s: thin pool metadata LV does not use _tmeta",
+ lv->name);
+ inc_error_count;
+ } else if (lv_is_cache_pool_metadata(lv) &&
+ !strstr(lv->name, "_cmeta")) {
+ log_error("LV %s: cache pool metadata LV does not use _cmeta",
+ lv->name);
+ inc_error_count;
+ }
}
}
More information about the lvm-devel
mailing list