From a1ff319fda8c36d3e2efde70b6cb548f1d7a792c Mon Sep 17 00:00:00 2001 From: Alasdair Kergon Date: Wed, 16 Jan 2008 15:24:25 +0000 Subject: [PATCH] Don't use block_on_error with mirror targets above version 1.12. --- WHATS_NEW | 1 + lib/mirror/mirrored.c | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/WHATS_NEW b/WHATS_NEW index 6c84dcc96..e1199298f 100644 --- a/WHATS_NEW +++ b/WHATS_NEW @@ -1,5 +1,6 @@ Version 2.02.30 - =================================== + Don't use block_on_error with mirror targets above version 1.12. Update vgsplit to include vgcreate-style options when new VG is destination. Update vgsplit to accept existing VG as destination. lvconvert waits for completion of initial sync by default. diff --git a/lib/mirror/mirrored.c b/lib/mirror/mirrored.c index 723bc7eab..3a3df3316 100644 --- a/lib/mirror/mirrored.c +++ b/lib/mirror/mirrored.c @@ -348,14 +348,14 @@ static int _mirrored_target_present(const struct lv_segment *seg __attribute((un _mirrored_present = target_present("mirror", 1); /* - * block_on_error available with mirror target >= 1.1 + * block_on_error available with mirror target >= 1.1 and <= 1.11 * or with 1.0 in RHEL4U3 driver >= 4.5 */ /* FIXME Move this into libdevmapper */ if (target_version("mirror", &maj, &min, &patchlevel) && maj == 1 && - (min >= 1 || + ((min >= 1 && min <= 11) || (min == 0 && driver_version(vsn, sizeof(vsn)) && sscanf(vsn, "%u.%u.%u", &maj2, &min2, &patchlevel2) == 3 && maj2 == 4 && min2 == 5 && patchlevel2 == 0))) /* RHEL4U3 */