From cb04b84c79f10e6b3f1b376cf7611d0afed26c39 Mon Sep 17 00:00:00 2001 From: Peter Rajnoha Date: Thu, 29 Nov 2018 12:35:54 -0600 Subject: [PATCH] scan: md metadata version 0.90 is at the end of disk commit de28637 scan: use full md filter when md 1.0 devices are present missed the fact that md superblock version 0.90 also puts metadata at the end of the device, so the full md filter needs to be used when either 0.90 or 1.0 is present. --- lib/device/dev-md.c | 2 +- lib/filters/filter-md.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/device/dev-md.c b/lib/device/dev-md.c index ac99f42a0..9c626dd25 100644 --- a/lib/device/dev-md.c +++ b/lib/device/dev-md.c @@ -422,7 +422,7 @@ int dev_is_md_with_end_superblock(struct dev_types *dt, struct device *dev) log_very_verbose("Device %s %s is %s.", dev_name(dev), attribute, version_string); - if (!strcmp(version_string, "1.0")) + if (!strcmp(version_string, "1.0") || !strcmp(version_string, "0.90")) return 1; return 0; } diff --git a/lib/filters/filter-md.c b/lib/filters/filter-md.c index 2214986dd..02759233a 100644 --- a/lib/filters/filter-md.c +++ b/lib/filters/filter-md.c @@ -46,7 +46,7 @@ * 3. use udev to detect components * * mode 1 will not detect and exclude components of md devices - * that use superblock version 1.0 which is at the end of the device. + * that use superblock version 0.9 or 1.0 which is at the end of the device. * * mode 2 will detect these, but mode 2 doubles the i/o done by label * scan, since there's a read at both the start and end of every device. @@ -59,11 +59,11 @@ * * - the command is pvcreate/vgcreate/vgextend, which format new * devices, and if the user ran these commands on a component - * device of an md device 1.0, then it would cause problems. + * device of an md device 0.9 or 1.0, then it would cause problems. * FIXME: this would only really need to scan the end of the * devices being formatted, not all devices. * - * - it sees an md device on the system using version 1.0. + * - it sees an md device on the system using version 0.9 or 1.0. * The point of this is just to avoid displaying md components * from the 'pvs' command. * FIXME: the cost (double i/o) may not be worth the benefit