diff options
author | Peter Rajnoha <prajnoha@redhat.com> | 2015-03-16 18:23:43 +0100 |
---|---|---|
committer | Peter Rajnoha <prajnoha@redhat.com> | 2016-02-15 12:44:46 +0100 |
commit | e0b141510523bb09e5a784d6e1b30f106e8dbbf3 (patch) | |
tree | 777d43d30eb83f830d3339de3d1ac50c6b3b5550 | |
parent | d97f1c89deb9a75452059cd62ebb20cf7d2d6bfa (diff) | |
download | lvm2-e0b141510523bb09e5a784d6e1b30f106e8dbbf3.tar.gz |
metadata: check for PV extension version before doing any checks on PV extension flags
PV header extension versions:
0 - the original PV without any extensions
1 - bootloader area support added
2 - PV_EXT_USED flag support added
So do the associated checks related to PV_EXT_USED flag only if
PV header extension found is of version 2 and higher.
-rw-r--r-- | lib/metadata/metadata.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/metadata/metadata.c b/lib/metadata/metadata.c index 61084bcbb..172edc1da 100644 --- a/lib/metadata/metadata.c +++ b/lib/metadata/metadata.c @@ -3348,9 +3348,21 @@ static int _check_or_repair_orphan_pv_ext(struct physical_volume *pv, struct lvmcache_info *info, struct _vg_read_orphan_baton *b) { + uint32_t ext_version = lvmcache_ext_version(info); uint32_t ext_flags = lvmcache_ext_flags(info); int at_least_one_mda_used; + /* + * Nothing to do if PV header extension < 2: + * - version 0 is PV header without any extensions, + * - version 1 has bootloader area support only and + * we're not checking anything for that one here. + */ + if (ext_version < 2) { + b->consistent = 1; + return 1; + } + if (ext_flags & PV_EXT_USED) { if (lvmcache_mda_count(info)) { at_least_one_mda_used = 0; |