diff --git a/dab3ebce-devices-Do-not-support-unpartitioned-DASD.patch b/dab3ebce-devices-Do-not-support-unpartitioned-DASD.patch new file mode 100644 index 0000000..93ced8f --- /dev/null +++ b/dab3ebce-devices-Do-not-support-unpartitioned-DASD.patch @@ -0,0 +1,58 @@ +Index: LVM2.2.02.114/lib/device/dev-type.c +=================================================================== +--- LVM2.2.02.114.orig/lib/device/dev-type.c ++++ LVM2.2.02.114/lib/device/dev-type.c +@@ -112,6 +112,10 @@ struct dev_types *create_dev_types(const + if (!strncmp("drbd", line + i, 4) && isspace(*(line + i + 4))) + dt->drbd_major = line_maj; + ++ /* Look for DASD */ ++ if (!strncmp("dasd", line + i, 4) && isspace(*(line + i + 4))) ++ dt->dasd_major = line_maj; ++ + /* Look for EMC powerpath */ + if (!strncmp("emcpower", line + i, 8) && isspace(*(line + i + 8))) + dt->emcpower_major = line_maj; +@@ -203,6 +207,9 @@ int dev_subsystem_part_major(struct dev_ + if (MAJOR(dev->dev) == dt->emcpower_major) + return 1; + ++ if (MAJOR(dev->dev) == dt->dasd_major) ++ return 1; ++ + if (MAJOR(dev->dev) == dt->power2_major) + return 1; + +@@ -222,6 +229,9 @@ const char *dev_subsystem_name(struct de + if (MAJOR(dev->dev) == dt->drbd_major) + return "DRBD"; + ++ if (MAJOR(dev->dev) == dt->dasd_major) ++ return "DASD"; ++ + if (MAJOR(dev->dev) == dt->emcpower_major) + return "EMCPOWER"; + +@@ -319,6 +329,10 @@ int dev_is_partitioned(struct dev_types + if (!_is_partitionable(dt, dev)) + return 0; + ++ /* Unpartitioned DASD devices are not supported. */ ++ if (MAJOR(dev->dev) == dt->dasd_major) ++ return 1; ++ + return _has_partition_table(dev); + } + +Index: LVM2.2.02.114/lib/device/dev-type.h +=================================================================== +--- LVM2.2.02.114.orig/lib/device/dev-type.h ++++ LVM2.2.02.114/lib/device/dev-type.h +@@ -44,6 +44,7 @@ struct dev_types { + int device_mapper_major; + int emcpower_major; + int power2_major; ++ int dasd_major; + struct dev_type_def dev_type_array[NUMBER_OF_MAJORS]; + }; + diff --git a/lvm2.changes b/lvm2.changes index 4cda360..949fdea 100644 --- a/lvm2.changes +++ b/lvm2.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Thu Feb 5 03:13:52 UTC 2015 - lwang@suse.com + +- LVM2 does not support unpartitioned DASD device which has special + format in the first 2 tracks and will siliently discards LVM2 lable + information written to it when pvcreate. (bsc#894202) + Add: dab3ebce-devices-Do-not-support-unpartitioned-DASD.patch +- Delete lvm2-lvmetad.socket from %service_del_preun/postun to avoid + lvmetad.service being started by 'systemctl retry-start' when updating + package. (bsc#914415) + ------------------------------------------------------------------- Thu Jan 22 09:45:12 UTC 2015 - mpluskal@suse.com diff --git a/lvm2.spec b/lvm2.spec index 7c415d8..9c5e5fb 100644 --- a/lvm2.spec +++ b/lvm2.spec @@ -38,7 +38,8 @@ Source16: csm-converter.tar.gz Source50: thin-provisioning-tools-v%{thin_provisioning_version}.tar.gz # Upstream patches first -# (currently none) +# bsc#894202 +Patch1: dab3ebce-devices-Do-not-support-unpartitioned-DASD.patch # SUSE patches 1000- for LVM, 2000- for device mapper Patch1001: improve_probing.diff @@ -123,6 +124,8 @@ Volume Manager. %prep %setup -q -n LVM2.%{version} -a 50 -a 16 + +%patch1 -p1 %patch1001 -p1 %patch1002 -p1 %patch1003 -p1 @@ -247,7 +250,7 @@ pushd thin-provisioning-tools-%{thin_provisioning_version} popd %pre -%service_add_pre blk-availability.service lvm2-monitor.service lvm2-lvmetad.socket lvm2-lvmetad.service +%service_add_pre blk-availability.service lvm2-monitor.service lvm2-lvmetad.socket lvm2-lvmetad.service %post /sbin/ldconfig @@ -258,11 +261,11 @@ popd %{?regenerate_initrd_posttrans} %preun -%service_del_preun blk-availability.service lvm2-monitor.service lvm2-lvmetad.socket lvm2-lvmetad.service +%service_del_preun blk-availability.service lvm2-monitor.service lvm2-lvmetad.service %postun /sbin/ldconfig -%service_del_postun blk-availability.service lvm2-monitor.service lvm2-lvmetad.socket lvm2-lvmetad.service +%service_del_postun blk-availability.service lvm2-monitor.service lvm2-lvmetad.service %files %defattr(-,root,root)