diff --git a/lvm2/.md5sum b/lvm2/.md5sum index 0d6379737..cdc9a679b 100644 --- a/lvm2/.md5sum +++ b/lvm2/.md5sum @@ -1 +1,2 @@ e5b1927825ea2ef4a270606e881d9c88 LVM2.2.02.41.tgz +4e831566d153ece89684b0c5fa874d65 lvm-2.02.41_lv-mirror.patch diff --git a/lvm2/Pkgfile b/lvm2/Pkgfile index df1341ebd..c2642ba02 100644 --- a/lvm2/Pkgfile +++ b/lvm2/Pkgfile @@ -6,12 +6,15 @@ name=lvm2 version=2.02.41 -release=1 -source=(ftp://sources.redhat.com/pub/lvm2/LVM2.$version.tgz) +release=2 +source=(ftp://sources.redhat.com/pub/lvm2/LVM2.$version.tgz + lvm-2.02.41_lv-mirror.patch) build() { cd LVM2.$version + patch -p 1 -i $SRC/lvm-2.02.41_lv-mirror.patch + ./configure \ --prefix=/usr \ --exec-prefix= \ diff --git a/lvm2/lvm-2.02.41_lv-mirror.patch b/lvm2/lvm-2.02.41_lv-mirror.patch new file mode 100644 index 000000000..96791556a --- /dev/null +++ b/lvm2/lvm-2.02.41_lv-mirror.patch @@ -0,0 +1,40 @@ +--- LVM2/lib/metadata/lv_manip.c 2008/10/17 10:57:15 1.157 ++++ LVM2/lib/metadata/lv_manip.c 2008/10/23 11:21:04 1.158 +@@ -2380,30 +2380,29 @@ + return NULL; + } + +- if (strstr(name, "_mimagetmp")) { +- log_very_verbose("Creating transient 'zero' LV" +- " for Mirror -> mirror up-convert."); ++ if (lv_is_active(lv_where) && strstr(name, "_mimagetmp")) { ++ log_very_verbose("Creating transient LV %s for mirror conversion in VG %s.", name, lv_where->vg->name); + +- segtype = get_segtype_from_string(cmd, "zero"); ++ segtype = get_segtype_from_string(cmd, "error"); + + if (!lv_add_virtual_segment(layer_lv, 0, lv_where->le_count, segtype)) { +- log_error("Creation of intermediate layer LV failed."); ++ log_error("Creation of transient LV %s for mirror conversion in VG %s failed.", name, lv_where->vg->name); + return NULL; + } + + if (!vg_write(lv_where->vg)) { +- log_error("Failed to write intermediate VG metadata"); ++ log_error("Failed to write intermediate VG %s metadata for mirror conversion.", lv_where->vg->name); + return NULL; + } + + if (!vg_commit(lv_where->vg)) { +- log_error("Failed to commit intermediate VG metadata"); ++ log_error("Failed to commit intermediate VG %s metadata for mirror conversion.", lv_where->vg->name); + vg_revert(lv_where->vg); + return NULL; + } + + if (!activate_lv(cmd, layer_lv)) { +- log_error("Failed to resume intermediate 'zero' LV, %s", name); ++ log_error("Failed to resume transient error LV %s for mirror conversion in VG %s.", name, lv_where->vg->name); + return NULL; + } + }