New upstream release (v2.02.104).

This commit is contained in:
Peter Rajnoha 2013-11-14 08:39:09 +01:00
parent c2c770c44c
commit 80cdbd35ad
8 changed files with 28 additions and 2318 deletions

1
.gitignore vendored
View File

@ -10,3 +10,4 @@
/LVM2.2.02.99.tgz
/LVM2.2.02.102.tgz
/LVM2.2.02.103.tgz
/LVM2.2.02.104.tgz

View File

@ -1,7 +0,0 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iEYEABECAAYFAlJOxOEACgkQIoGRwVZ+LBdzIgCgyYCGSy7BHxalqU5knEnK0gkZ
Ku4AoN1ojAchwqP/1Mu1Hacq5RXGlf4R
=4ZOd
-----END PGP SIGNATURE-----

7
LVM2.2.02.104.tgz.asc Normal file
View File

@ -0,0 +1,7 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iEYEABECAAYFAlKDiQ4ACgkQIoGRwVZ+LBc0PwCg4iyLn/+zxXfpT3UK028JZTRd
EDoAoKQ7+P+1qcSqlhEs7/5c5GywwqL7
=V0Vj
-----END PGP SIGNATURE-----

File diff suppressed because it is too large Load Diff

View File

@ -1,90 +0,0 @@
WHATS_NEW | 2 ++
tools/lvconvert.c | 20 ++++++++++++--------
udev/11-dm-lvm.rules.in | 2 +-
udev/69-dm-lvm-metad.rules.in | 3 ++-
4 files changed, 17 insertions(+), 10 deletions(-)
diff --git a/WHATS_NEW b/WHATS_NEW
index 49f37a4..fc19a85 100644
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,7 @@
Version 2.02.104
===================================
+ Fix missing lvmetad scan for PVs found on MD partitions.
+ Respect DM_UDEV_DISABLE_OTHER_RULES_FLAG in lvmetad udev rules.
Add internal flag for temporary LVs to properly direct udev to not interfere.
Fix endless loop in blkdeactivate <device>... if unable to umount/deactivate.
Add dev-block-<major>:<minor>.device systemd alias for complete PV tracking.
diff --git a/tools/lvconvert.c b/tools/lvconvert.c
index a6c1187..92a2022 100644
--- a/tools/lvconvert.c
+++ b/tools/lvconvert.c
@@ -2435,14 +2435,8 @@ static int _lvconvert_thinpool(struct cmd_context *cmd,
goto mda_write;
}
- metadata_lv->status |= LV_NOSCAN;
- if (!lv_is_active(metadata_lv) &&
- !activate_lv_local(cmd, metadata_lv)) {
- log_error("Aborting. Failed to activate thin metadata lv.");
- return 0;
- }
- if (!set_lv(cmd, metadata_lv, UINT64_C(0), 0)) {
- log_error("Aborting. Failed to wipe thin metadata lv.");
+ if (!deactivate_lv(cmd, metadata_lv)) {
+ log_error("Aborting. Failed to deactivate thin metadata lv.");
return 0;
}
@@ -2462,6 +2456,16 @@ static int _lvconvert_thinpool(struct cmd_context *cmd,
&lp->thin_chunk_size_calc_policy, &lp->chunk_size,
&lp->discards, &lp->poolmetadata_size, &lp->zero))
return_0;
+
+ metadata_lv->status |= LV_TEMPORARY;
+ if (!activate_lv_local(cmd, metadata_lv)) {
+ log_error("Aborting. Failed to activate thin metadata lv.");
+ return 0;
+ }
+ if (!set_lv(cmd, metadata_lv, UINT64_C(0), 0)) {
+ log_error("Aborting. Failed to wipe thin metadata lv.");
+ return 0;
+ }
}
if (!deactivate_lv(cmd, metadata_lv)) {
diff --git a/udev/11-dm-lvm.rules.in b/udev/11-dm-lvm.rules.in
index 5032280..9ca0375 100644
--- a/udev/11-dm-lvm.rules.in
+++ b/udev/11-dm-lvm.rules.in
@@ -32,7 +32,7 @@ IMPORT{program}="(DM_EXEC)/dmsetup splitname --nameprefixes --noheadings --rows
# uevent that follows for this LV, even an artificially generated one).
ENV{DM_SUBSYSTEM_UDEV_FLAG0}=="1", ENV{DM_NOSCAN}="1", ENV{DM_DISABLE_OTHER_RULES_FLAG_OLD}="$env{DM_UDEV_DISABLE_OTHER_RULES_FLAG}", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}="1"
ENV{DM_SUBSYSTEM_UDEV_FLAG0}!="1", IMPORT{db}="DM_NOSCAN", IMPORT{db}="DM_DISABLE_OTHER_RULES_FLAG_OLD"
-ENV{DM_SUBSYSTEM_UDEV_FLAG0}!="1", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}="$env{DM_DISABLE_OTHER_RULES_FLAG_OLD}", \
+ENV{DM_SUBSYSTEM_UDEV_FLAG0}!="1", ENV{DM_NOSCAN}=="1", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}="$env{DM_DISABLE_OTHER_RULES_FLAG_OLD}", \
ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG_OLD}="", ENV{DM_NOSCAN}=""
ENV{DM_UDEV_DISABLE_SUBSYSTEM_RULES_FLAG}=="1", GOTO="lvm_end"
diff --git a/udev/69-dm-lvm-metad.rules.in b/udev/69-dm-lvm-metad.rules.in
index 3e303b1..5b15b6f 100644
--- a/udev/69-dm-lvm-metad.rules.in
+++ b/udev/69-dm-lvm-metad.rules.in
@@ -17,7 +17,7 @@
SUBSYSTEM!="block", GOTO="lvm_end"
(LVM_EXEC_RULE)
-ENV{DM_NOSCAN}=="1", GOTO="lvm_end"
+ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", GOTO="lvm_end"
# If the PV label got lost, inform lvmetad immediately.
# Detect the lost PV label by comparing previous ID_FS_TYPE value with current one.
@@ -51,6 +51,7 @@ KERNEL!="md[0-9]*", GOTO="next"
IMPORT{db}="LVM_MD_PV_ACTIVATED"
ACTION=="add", ENV{LVM_MD_PV_ACTIVATED}=="1", GOTO="lvm_scan"
ACTION=="change", ENV{LVM_MD_PV_ACTIVATED}!="1", TEST=="md/array_state", ENV{LVM_MD_PV_ACTIVATED}="1", GOTO="lvm_scan"
+ACTION=="add", KERNEL=="md[0-9]*p[0-9]*", GOTO="lvm_scan"
GOTO="lvm_end"
# Loop device:

View File

@ -1,4 +1,4 @@
%define device_mapper_version 1.02.82
%define device_mapper_version 1.02.83
%define enable_thin 1
%define enable_lvmetad 1
@ -36,16 +36,14 @@
Summary: Userland logical volume management tools
Name: lvm2
Version: 2.02.103
Release: 3%{?dist}
Version: 2.02.104
Release: 1%{?dist}
License: GPLv2
Group: System Environment/Base
URL: http://sources.redhat.com/lvm2
Source0: ftp://sources.redhat.com/pub/lvm2/releases/LVM2.%{version}.tgz
Patch0: lvm2-set-default-preferred_names.patch
Patch1: lvm2-enable-lvmetad-by-default.patch
Patch2: lvm2-2_02_104-additional-fixes-from-v104.patch
Patch3: lvm2-2_02_104-additional-udev-fixes-from-v104.patch
BuildRequires: libselinux-devel >= %{libselinux_version}, libsepol-devel
BuildRequires: ncurses-devel
@ -82,8 +80,6 @@ or more physical volumes and creating one or more logical volumes
%setup -q -n LVM2.%{version}
%patch0 -p1 -b .preferred_names
%patch1 -p1 -b .enable_lvmetad
%patch2 -p1 -b .v104
%patch3 -p1 -b .v104_udev
%build
%define _default_pid_dir /run
@ -581,6 +577,21 @@ the device-mapper event library.
%{_libdir}/pkgconfig/devmapper-event.pc
%changelog
* Thu Nov 14 2013 Peter Rajnoha <prajnoha@redhat.com> - 2.02.104-1
- Workaround VG refresh race during autoactivation by retrying the refresh.
- Handle failures in temporary mirror used when adding images to mirrors.
- Fix and improve logic for implicitely exclusive activations.
- Return success when LV cannot be activated because of volume_list filter.
- Return proper error state for remote exclusive activation.
- Fix clvmd message verification to not reject REMOTE flag. (2.02.100)
- Compare equality of double values with DBL_EPSILON predefined constant.
- Use additional gcc warning flags by default.
- Add ignore_lvm_mirrors to config file to read/ignore labels on mirrors.
- Use #ifdef __linux__ instead of linux throughout.
- Consistently report on stderr when device is not found for dmsetup info.
- Skip race errors when non-udev dmsetup build runs on udev-enabled system.
- Skip error message when holders are not present in sysfs.
* Wed Oct 30 2013 Peter Rajnoha <prajnoha@redhat.com> - 2.02.103-3
- Fix missing lvmetad scan for PVs found on MD partitions.
- Respect DM_UDEV_DISABLE_OTHER_RULES_FLAG in lvmetad udev rules.

View File

@ -1 +1 @@
e427e3494aaf86da2d363f344deb3837 LVM2.2.02.103.tgz
3d82cdb63259b4386c0cc308b4e1f221 LVM2.2.02.104.tgz

View File

@ -1 +1 @@
LVM2.2.02.103.tgz
LVM2.2.02.104.tgz