Update to latest lvm2 upstream release v2.02.107.

Also remove clvmd and cmirrord initscripts in favour of new
"clvm" resource that is part of resource-agents package.
Provide new lvm2-cluster-standalone and cmirror-standlone
subpackages for standalone clvmd/cmirrord management without
cluster resource manager involvement (the new subpackages provide
lvm2-cluster-activation.service, lvm2-clvmd.service and
lvm2-cmirrord.service native systemd units).
This commit is contained in:
Peter Rajnoha 2014-06-24 11:48:37 +02:00
parent 5a9d48f56b
commit 89251217d9
6 changed files with 187 additions and 53 deletions

1
.gitignore vendored
View File

@ -13,3 +13,4 @@
/LVM2.2.02.104.tgz
/LVM2.2.02.105.tgz
/LVM2.2.02.106.tgz
/LVM2.2.02.107.tgz

View File

@ -1,7 +0,0 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.14 (GNU/Linux)
iEYEABECAAYFAlNGwgEACgkQIoGRwVZ+LBepigCg7+sjOqeshsgDO0nGZTIcFOch
F44AoJWQWWLCE9fJULLu4KSZu3JZTyuU
=0JeO
-----END PGP SIGNATURE-----

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

@ -0,0 +1,7 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.14 (GNU/Linux)
iEYEABECAAYFAlOoNjEACgkQIoGRwVZ+LBfe1QCgniX0vvTU0AAHyU7u1I0GlYiZ
+vIAmQHfj/qZq0WeB4r2VQMyS0LVfiF6
=2hPx
-----END PGP SIGNATURE-----

221
lvm2.spec
View File

@ -1,4 +1,4 @@
%define device_mapper_version 1.02.85
%define device_mapper_version 1.02.86
%define enable_cache 1
%define enable_cluster 1
@ -12,6 +12,7 @@
%define util_linux_version 2.24
%define bash_version 4.0
%define corosync_version 1.99.9-1
%define resource_agents_version 3.9.5-12
%define dlm_version 3.99.1-1
%define libselinux_version 1.30.19-4
%define persistent_data_version 0.3.2-1
@ -38,8 +39,8 @@
Summary: Userland logical volume management tools
Name: lvm2
Version: 2.02.106
Release: 5%{?dist}
Version: 2.02.107
Release: 1%{?dist}
License: GPLv2
Group: System Environment/Base
URL: http://sources.redhat.com/lvm2
@ -108,7 +109,7 @@ or more physical volumes and creating one or more logical volumes
%endif
%if %{enable_lvmetad}
%define configure_lvmetad --enable-lvmetad --enable-udev-systemd-background-jobs
%define configure_lvmetad --enable-lvmetad
%endif
%if %{enable_python}
@ -122,31 +123,10 @@ make %{?_smp_mflags}
%install
make install DESTDIR=$RPM_BUILD_ROOT
make install_system_dirs DESTDIR=$RPM_BUILD_ROOT
make install_initscripts DESTDIR=$RPM_BUILD_ROOT
make install_systemd_units DESTDIR=$RPM_BUILD_ROOT
make install_systemd_generators DESTDIR=$RPM_BUILD_ROOT
make install_tmpfiles_configuration DESTDIR=$RPM_BUILD_ROOT
# add clvmd/cmirror systemd units to a separate lvm2-cluster-standalone/cmirror-standalone
# once we can rely on clvm resource instead and we provide the systemd units just for
# standalone LVM cluster configuration without cluster resource manager
%if %{enable_cluster}
rm -f $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/lvm2-cluster-activation
rm -f $RPM_BUILD_ROOT/%{_unitdir}/lvm2-clvmd.service
rm -f $RPM_BUILD_ROOT/%{_unitdir}/lvm2-cluster-activation.service
%if %{enable_cmirror}
rm -f $RPM_BUILD_ROOT/%{_unitdir}/lvm2-cmirrord.service
%endif
%endif
# also, once we migrate the clvmd/cmirrord initscripts to systemd units,
# remove the "make install_initscripts" and these extra removal lines below
rm -f $RPM_BUILD_ROOT/%{_sysconfdir}/rc.d/init.d/blk-availability
rm -f $RPM_BUILD_ROOT/%{_sysconfdir}/rc.d/init.d/lvm2-monitor
%if %{enable_lvmetad}
rm -f $RPM_BUILD_ROOT/%{_sysconfdir}/rc.d/init.d/lvm2-lvmetad
%endif
%clean
rm -rf $RPM_BUILD_ROOT
@ -237,6 +217,7 @@ rm -rf $RPM_BUILD_ROOT
%{_sbindir}/vgscan
%{_sbindir}/vgsplit
%{_mandir}/man5/lvm.conf.5.gz
%{_mandir}/man7/lvmcache.7.gz
%{_mandir}/man7/lvmthin.7.gz
%{_mandir}/man8/blkdeactivate.8.gz
%{_mandir}/man8/fsadm.8.gz
@ -297,7 +278,9 @@ rm -rf $RPM_BUILD_ROOT
%ghost %{_sysconfdir}/lvm/cache/.cache
%attr(644, -, -) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/lvm.conf
%dir %{_sysconfdir}/lvm/profile
%{_sysconfdir}/lvm/profile/default.profile
%{_sysconfdir}/lvm/profile/command_profile_template.profile
%{_sysconfdir}/lvm/profile/metadata_profile_template.profile
%{_sysconfdir}/lvm/profile/thin-generic.profile
%{_sysconfdir}/lvm/profile/thin-performance.profile
%dir %{_sysconfdir}/lvm/backup
%dir %{_sysconfdir}/lvm/cache
@ -391,6 +374,7 @@ logical volumes, physical volumes, and volume groups.
##############################################################################
# Cluster subpackage
# The 'clvm' OCF script to manage clvmd instance is part of resource-agents.
##############################################################################
%if %{enable_cluster}
@ -399,68 +383,114 @@ Summary: Cluster extensions for userland logical volume management tools
License: GPLv2
Group: System Environment/Base
Requires: lvm2 = %{version}-%{release}
Requires(post): chkconfig
Requires(preun): chkconfig
Requires(preun): device-mapper >= %{device_mapper_version}
Requires(preun): lvm2 >= 2.02
Requires: corosync >= %{corosync_version}
Requires: dlm >= %{dlm_version}
Requires: resource-agents >= %{resource_agents_version}
%description cluster
Extensions to LVM2 to support clusters.
%post cluster
/sbin/chkconfig --add clvmd
if [ -e %{_default_pid_dir}/clvmd.pid ]; then
/usr/sbin/clvmd -S || echo "Failed to restart clvmd daemon. Please, try manual restart."
fi
%preun cluster
if [ "$1" = "0" ]; then
/sbin/chkconfig --del clvmd
/sbin/lvmconf --disable-cluster
fi
%files cluster
%defattr(555,root,root,-)
%{_sbindir}/clvmd
%{_sysconfdir}/rc.d/init.d/clvmd
%attr(444, -, -) %{_mandir}/man8/clvmd.8.gz
##############################################################################
# Cluster-standalone subpackage
##############################################################################
%package cluster-standalone
Summary: Additional files to support clustered LVM2 in standalone mode
License: GPLv2
Group: System Environment/Base
Requires: lvm2-cluster = %{version}-%{release}
%description cluster-standalone
Additional files needed to run clustered LVM2 daemon and clustered volume
activation in standalone mode as services without cluster resource manager
involvement (e.g. pacemaker).
%post cluster-standalone
%systemd_post lvm2-clvmd.service lvm2-cluster-activation.service
%preun cluster-standalone
%systemd_preun lvm2-clvmd.service lvm2-cluster-activation.service
%postun cluster-standalone
%systemd_postun lvm2-clvmd.service lvm2-cluster-activation.service
%files cluster-standalone
%defattr(555,root,root,-)
%{_prefix}/lib/systemd/lvm2-cluster-activation
%defattr(444,root,root,-)
%{_unitdir}/lvm2-clvmd.service
%{_unitdir}/lvm2-cluster-activation.service
%endif
##############################################################################
###############################################################################
# Cluster mirror subpackage
##############################################################################
# The 'clvm' OCF script to manage cmirrord instance is part of resource-agents.
###############################################################################
%if %{enable_cluster}
%if %{enable_cmirror}
%package -n cmirror
Summary: Daemon for device-mapper-based clustered mirrors
Group: System Environment/Base
Requires(post): chkconfig
Requires(preun): chkconfig
Requires: corosync >= %{corosync_version}
Requires: device-mapper = %{device_mapper_version}-%{release}
Requires: resource-agents >= %{resource_agents_version}
%description -n cmirror
Daemon providing device-mapper-based mirrors in a shared-storage cluster.
%post -n cmirror
/sbin/chkconfig --add cmirrord
%preun -n cmirror
if [ "$1" = 0 ]; then
/sbin/chkconfig --del cmirrord
fi
%files -n cmirror
%defattr(555,root,root,-)
%{_sbindir}/cmirrord
%{_sysconfdir}/rc.d/init.d/cmirrord
%attr(444, -, -) %{_mandir}/man8/cmirrord.8.gz
##############################################################################
# Cmirror-standalone subpackage
##############################################################################
%package -n cmirror-standalone
Summary: Additional files to support device-mapper-based clustered mirrors in standalone mode
License: GPLv2
Group: System Environment/Base
Requires: cmirror >= %{epoch}:%{version}-%{release}
%description -n cmirror-standalone
Additional files needed to run daemon for device-mapper-based clustered
mirrors in standalone mode as a service without cluster resource manager
involvement (e.g. pacemaker).
%post -n cmirror-standalone
%systemd_post lvm2-cmirrord.service
%preun -n cmirror-standalone
%systemd_preun lvm2-cmirrord.service
%postun -n cmirror-standalone
%systemd_postun lvm2-cmirrord.service
%files -n cmirror-standalone
%defattr(444,root,root,-)
%{_unitdir}/lvm2-cmirrord.service
%endif
%endif
@ -598,6 +628,109 @@ the device-mapper event library.
%{_libdir}/pkgconfig/devmapper-event.pc
%changelog
* Tue Jun 24 2014 Peter Rajnoha <prajnoha@redhat.com> - 2.02.107-1
- Add cmirror-standalone subpackage containing new lvm2-cmirrord.service
systemd unit for standalone cmirrord daemon management without cluster
resource manager involvement.
- Add lvm2-cluster-standalone subpackage containing new lvm2-clvmd.service
and lvm2-cluster-activation.service systemd unit for standalone clvmd
daemon management without cluster resource manager involvement.
- Add Requires: resource-agents for lvm2-cluster and cmirror subpackages.
The resource-agents package provides "clvm" cluster resource to manage
clvmd and cmirrord instances. This replaces obsolete clvmd and cmirrord
initscripts.
- Introduce LCK_ACTIVATION to avoid concurrent activation of basic LV types.
- Fix open_count test for lvchange --refresh or mirrors and raids.
- Update pvs,vgs,lvs and lvm man page for selection support.
- Add -S/--select to lvm devtypes for report selection.
- Add -S/--select to pvs,vgs,lvs and {pv,vg,lv}display -C for report selection.
- Use dm_report_init_with_selection now, implicit "selected" field appears.
- Make use of libdm's DM_REPORT_FIELD_TYPE{SIZE,PERCENT,STRING_LIST} for fields.
- Support all-or-nothing pvmove --atomic.
- Automatically add snapshot metadata size for -l %ORIGIN calculation.
- When converting RAID origin to cache LV, properly rename sub-LVs.
- Use RemoveOnStop for lvm2-lvmetad.socket systemd unit.
- Add thin-generic configuration profile for generic thin settings.
- Fix crash when reporting empty labels on pvs.
- Use retry_deactivation also when cleaning orphan devices.
- Wait for client threads when shutting down lvmetad.
- Remove PV from cache on pvremove.
- Avoid repeatedly reporting of failure to connect to lvmetad.
- Introduce MDA_FAILED to permit metadata updates even if some mdas are missing.
- Prompt when setting the VG cluster attr if the cluster is not setup.
- Allow --yes to skip prompt in vgextend (worked only with -f).
- Don't use name mangling for LVM - it never uses dm names with wrong char set.
- Remove default.profile and add {command,metadata}_profile_template.profile.
- Use proper umask for systemd units generated by lvm2-activation-generator.
- Check for failing mirror_remove_missing() function.
- Prompt before converting volumes to thin pool and thin pool metadata.
- Add dumpconfig --type profilable-{metadata,command} to select profile type.
- Exit immediately with error if command profile is found invalid.
- Separate --profile cmd line arg into --commandprofile and --metadataprofile.
- Strictly separate command profiles and per-VG/LV profiles referenced in mda.
- Fix dumpconfig --type diff when run as second and later cmd in lvm shell.
- Fix wrong profile reuse from previous run if another cmd is run in lvm shell.
- Move cache description from lvm(8) to new lvmcache(7) man page.
- Display skipped prompt in silent mode.
- Make reporting commands show help about possible sort keys on '-O help'.
- Add metadata_percent to lvs_cols.
- Take account of parity areas with alloc anywhere in _calc_required_extents.
- Use proper uint64 casting for calculation of cache metadata size.
- Better support for nesting of blocking signals.
- Use only sigaction handler and drop duplicate signal handler.
- Separate signal handling and flock code out into lib/misc.
- Don't start dmeventd checking seg_monitor and monitoring is disabled.
- Catch CTRL-c during pvremove prompts.
- Show correct availability status for snapshot origin in lvscan.
- Move segment thin pool/volume info into segment display 'lvdisplay --maps'.
- Display thin pool usage even when just thin volume is available.
- Display monitoring status for monitorable segments in 'lvdisplay --maps'.
- Display virtual extents for virtual LVs in 'lvdisplay --maps'.
- Make vgsplit fail cleanly when not all PVs are specified for RAID 4/5/6.
- Make vgsplit work on mirrors with logs that share PVs with images.
- Use devices/ignore_suspended_devices=0 by default if not defined in lvm.conf.
- Use proper libmem mempool for allocation of unknown segment name.
- Add --readonly to reporting and display tools for lock-free metadata access.
- Add locking_type 5 for dummy locking for tools that do not need any locks.
- Fix _recover_vg() error path when lock conversion fails.
- Use X for LV attributes that are unknown when activation disabled.
- Only output lvdisplay 'LV Status' field when activation is enabled.
- Use lvmetad_used() in pvscan instead of config_tree.
- Configure --enable-udev-systemd-background-jobs if not disabled explicitly.
- Add lvmdump -s to collect system info and context (currently systemd only).
- Refactor allocation code to make A_POSITIONAL_FILL explicit.
- Use thread-safe ctime_r() for clvmd debug logging.
- Skip adding replies to already finished reply thread.
- Use mutex to check number of replies in request_timed_out() in clvmd.
- Drop usage of extra reply_mutex for localsock in clvmd.
- Protect manipulation with finished flag with mutex in clvmd.
- Shift mutex creation and destroy for localsock in clvmd to correct place.
- Fix usage of --test option in clvmd.
- Skip more libraries to be mlocked in memory.
- Remove LOCKED flag for pvmove replaced with error target.
- Return invalid command when specifying negative polling interval.
- Make "help" and "?" reporting fields implicit.
- Recognize implicit "selected" field if using dm_report_init_with_selection.
- Add support for implicit reporting fields which are predefined in libdm.
- Add DM_REPORT_FIELD_TYPE_PERCENT: separate number and percent fields.
- Add dm_percent_range_t,dm_percent_to_float,dm_make_percent to libdm for reuse.
- Add dm_report_reserved_value to libdevmapper for reserved value definition.
- Also display field types when listing all fields in selection help.
- Recognize "help" keyword in selection string to show brief help for selection.
- Always order items reported as string list field lexicographically.
- Add dm_report_field_string_list to libdevmapper for direct string list report.
- Add DM_REPORT_FIELD_TYPE_STRING_LIST: separate string and string list fields.
- Add dm_str_list to libdevmapper for string list type definition and its reuse.
- Add dmsetup -S/--select to define selection criteria for dmsetup reports.
- Add dm_report_init_with_selection to intialize report with selection criteria.
- Add DM_REPORT_FIELD_TYPE_SIZE: separate number and size reporting fields.
- Use RemoveOnStop for dm-event.socket systemd unit.
- Document env var 'DM_DEFAULT_NAME_MANGLING_MODE' in dmsetup man page.
- Warn user about incorrect use of cookie with 'dmsetup remove --force'.
- Also recognize 'help'/'?' as reserved sort key name to show help.
- Add dm_units_to_factor for size unit parsing.
- Increase bitset size for minors for thin dmeventd plugin.
* Mon Jun 09 2014 Alasdair Kergon <agk@redhat.com> - 2.02.106-5
- Remove separate sub-package release tags to fix last commit.

View File

@ -1 +1 @@
77f84279fb649b3dc4edad1c6d1a1b0e LVM2.2.02.106.tgz
efa5b0ff0245cbccf53aec1f3d8840ba LVM2.2.02.107.tgz

View File

@ -1 +1 @@
LVM2.2.02.106.tgz
LVM2.2.02.107.tgz