diff --git a/.cvsignore b/.cvsignore index da54530..6371bf2 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -LVM2.2.02.67.tgz +LVM2.2.02.68.tgz diff --git a/LVM2.2.02.67.tgz.asc b/LVM2.2.02.67.tgz.asc deleted file mode 100644 index 46d6097..0000000 --- a/LVM2.2.02.67.tgz.asc +++ /dev/null @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.2.1 (GNU/Linux) - -iD8DBQBMCTfNIoGRwVZ+LBcRAi7UAKDP+G1bjoF93DSndDy2+LJi1bK3NgCgupiQ -fr+uPbTw75vC1tkrpEHseQQ= -=yqFp ------END PGP SIGNATURE----- diff --git a/LVM2.2.02.68.tgz.asc b/LVM2.2.02.68.tgz.asc new file mode 100644 index 0000000..2620084 --- /dev/null +++ b/LVM2.2.02.68.tgz.asc @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.2.1 (GNU/Linux) + +iD8DBQBMIk0iIoGRwVZ+LBcRAnQJAKDZjPHrXTFjWt8/g5zYPorEJ1ChvgCfT/9L +z62fWwm5GUqgHiXYNDwgkhE= +=w1AP +-----END PGP SIGNATURE----- diff --git a/lvm2-revert-udev-database-retention-assumption.patch b/lvm2-revert-udev-database-retention-assumption.patch new file mode 100644 index 0000000..724cfe5 --- /dev/null +++ b/lvm2-revert-udev-database-retention-assumption.patch @@ -0,0 +1,72 @@ +--- LVM2.2.02.68-old/udev/10-dm.rules.in 2010-06-23 18:00:32.000000000 +0100 ++++ LVM2.2.02.68/udev/10-dm.rules.in 2010-06-23 19:46:27.000000000 +0100 +@@ -19,6 +19,13 @@ + SUBSYSTEM!="block", GOTO="dm_end" + KERNEL!="dm-[0-9]*", GOTO="dm_end" + ++# There is a new change event generated in block layer since kernel ++# version 2.6.32. It adds notification for changes in read-only ++# attribute. We don't want to misinterpret the regular meaning of change ++# events for DM devices and we don't want to apply the rules prematurely, ++# therefore we disable them in this situation. ++ENV{DISK_RO}=="1", GOTO="dm_disable" ++ + # Set proper sbin path, /sbin has higher priority than /usr/sbin. + ENV{DM_SBIN_PATH}="/sbin" + TEST!="$env{DM_SBIN_PATH}/dmsetup", ENV{DM_SBIN_PATH}="/usr/sbin" +@@ -30,16 +37,11 @@ + # kernels >= 2.6.31 only. + ENV{DM_COOKIE}=="?*", IMPORT{program}="$env{DM_SBIN_PATH}/dmsetup udevflags $env{DM_COOKIE}" + +-# Device created, major and minor number assigned - "add" event generated. +-# Table loaded - no event generated. +-# Device resumed (or renamed) - "change" event generated. +-# Device removed - "remove" event generated. +-# +-# The dm-X nodes are always created, even on "add" event, we can't suppress +-# that (the node is created even earlier with devtmpfs). All the symlinks +-# (e.g. /dev/mapper) are created in right time after a device has its table +-# loaded and is properly resumed. For this reason, direct use of dm-X nodes +-# is not recommended. ++# Normally, we would test for DM_UDEV_DISABLE_DM_RULES_FLAG here and skip ++# the rules if set. However, we need to set DM_* environment variables ++# for now to properly filter out inappropriate events. This dependency ++# might be removed in the future. ++ + ACTION!="add|change", GOTO="dm_end" + + # There is no cookie set nor any flags encoded in events not originating +@@ -53,7 +55,6 @@ + IMPORT{db}="DM_UDEV_DISABLE_OTHER_RULES_FLAG" + IMPORT{db}="DM_UDEV_LOW_PRIORITY_FLAG" + IMPORT{db}="DM_UDEV_DISABLE_LIBRARY_FALLBACK_FLAG" +-IMPORT{db}="DM_UDEV_PRIMARY_SOURCE_FLAG" + IMPORT{db}="DM_UDEV_FLAG7" + IMPORT{db}="DM_SUBSYSTEM_UDEV_FLAG0" + IMPORT{db}="DM_SUBSYSTEM_UDEV_FLAG1" +@@ -65,19 +66,12 @@ + IMPORT{db}="DM_SUBSYSTEM_UDEV_FLAG7" + LABEL="dm_flags_done" + +-# Normally, we operate on "change" events. But when coldplugging, there's an +-# "add" event present. We have to recognize this and do our actions in this +-# particular situation, too. Also, we don't want the nodes to be created +-# prematurely on "add" events while not coldplugging. We check +-# DM_UDEV_PRIMARY_SOURCE_FLAG to see if the device was activated correctly +-# before and if not, we ignore the "add" event totally. This way we can support +-# udev triggers generating "add" events (e.g. "udevadm trigger --action=add" or +-# "echo add > /sys/block//uevent"). The trigger with "add" event is +-# also used at boot to reevaluate udev rules for all existing devices activated +-# before (e.g. in initrd). If udev is used in initrd, we require the udev init +-# script to not remove the existing udev database so we can reuse the information +-# stored at the time of device activation in the initrd. +-ACTION=="add", ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}!="1", GOTO="dm_disable" ++# Normally, we operate on "change" events only. But when ++# coldplugging, there's an "add" event present. We have to ++# recognize this and do our actions in this particular ++# situation, too. Also, we don't want the nodes to be ++# created prematurely on "add" events while not coldplugging. ++ACTION=="add", ENV{STARTUP}!="1", NAME="", GOTO="dm_end" + + # "dm" sysfs subdirectory is available in newer versions of DM + # only (kernels >= 2.6.29). We have to check for its existence diff --git a/lvm2.spec b/lvm2.spec index c5a61a4..e73c9d3 100644 --- a/lvm2.spec +++ b/lvm2.spec @@ -1,4 +1,4 @@ -%define device_mapper_version 1.02.49 +%define device_mapper_version 1.02.50 %define enable_cluster 1 %if %{enable_cluster} @@ -15,13 +15,16 @@ Summary: Userland logical volume management tools Name: lvm2 -Version: 2.02.67 +Version: 2.02.68 Release: 1%{?dist} License: GPLv2 Group: System Environment/Base URL: http://sources.redhat.com/lvm2 Source0: ftp://sources.redhat.com/pub/lvm2/LVM2.%{version}.tgz Patch0: lvm2-set-default-preferred_names.patch +# Next patch is required by the old version of udev in rawhide. +# Remove the patch once the udev package has been updated. +Patch1: lvm2-revert-udev-database-retention-assumption.patch BuildRequires: libselinux-devel >= 1.30.19-4, libsepol-devel BuildRequires: ncurses-devel @@ -50,9 +53,10 @@ or more physical volumes and creating one or more logical volumes %prep %setup -q -n LVM2.%{version} %patch0 -p1 -b preferred_names +%patch1 -p1 -b udev_dbase %build -%define _exec_prefix / +%define _exec_prefix "" %define _bindir /bin %define _sbindir /sbin %define _libdir /%{_lib} @@ -139,8 +143,11 @@ fi %{_mandir}/man8/lvextend.8.gz %{_mandir}/man8/lvm.8.gz %{_mandir}/man8/lvmchange.8.gz +%{_mandir}/man8/lvmconf.8.gz %{_mandir}/man8/lvmdiskscan.8.gz %{_mandir}/man8/lvmdump.8.gz +%{_mandir}/man8/lvmsadc.8.gz +%{_mandir}/man8/lvmsar.8.gz %{_mandir}/man8/lvreduce.8.gz %{_mandir}/man8/lvremove.8.gz %{_mandir}/man8/lvrename.8.gz @@ -363,7 +370,7 @@ Version: %{device_mapper_version} Release: %{release} License: LGPLv2 Group: System Environment/Libraries -Obsoletes: device-mapper < 1.02.17-6 +Requires: device-mapper = %{device_mapper_version}-%{release} %description -n device-mapper-libs This package contains the device-mapper shared library, libdevmapper. @@ -390,6 +397,7 @@ of device-mapper devices. %files -n device-mapper-event %defattr(-,root,root,-) %{_sbindir}/dmeventd +%{_mandir}/man8/dmeventd.8.gz %package -n device-mapper-event-libs Summary: Device-mapper event daemon shared library @@ -430,6 +438,24 @@ the device-mapper event library. %changelog +* Wed Jun 23 2010 Alasdair Kergon - 2.02.68-1 +- Have device-mapper-libs require device-mapper (circular) for udev rules. +- Clear exec_prefix. +- Use early udev synchronisation and update of dev nodes for clustered mirrors. +- Add lv_path to reports to offer full /dev pathname. +- Avoid abort when generating cmirror status. +- Fix clvmd initscript status to print only active clustered LVs. +- Fix segfault in clvmd -R if no response from daemon received. +- Honour log argument when down-converting stacked mirror. +- Sleep to workaround clvmd -S race: socket closed early and server drops cmd. +- Exit successfully when using -o help (but not -o +help) with LVM reports. +- Add man pages for lvmconf, dmeventd and non-existent lvmsadc and lvmsar tools. +- Add --force, --nofsck and --resizefs to lvresize/extend/reduce man pages. +- Fix lvm2cmd example in documentation. +- Fix typo in warning message about missing device with allocated data areas. +- Add device name and offset to raw_read_mda_header error messages. +- Allow use of lvm2app and lvm2cmd headers in C++ code. + * Fri Jun 4 2010 Alasdair Kergon - 2.02.67-1 - Require partial option in lvchange --refresh for partial LVs. - Don't merge unchanged persistent cache file before dumping if tool scanned. diff --git a/sources b/sources index 904ea60..1ec09c6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -088d037e77660f48cd1591e91ed59d20 LVM2.2.02.67.tgz +20357ea7918c4e967e558de53ec74969 LVM2.2.02.68.tgz diff --git a/upstream b/upstream index da54530..6371bf2 100644 --- a/upstream +++ b/upstream @@ -1 +1 @@ -LVM2.2.02.67.tgz +LVM2.2.02.68.tgz