diff --git a/.gitignore b/.gitignore index a38890b..c209017 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ /LVM2.2.02.104.tgz /LVM2.2.02.105.tgz /LVM2.2.02.106.tgz +/LVM2.2.02.107.tgz diff --git a/LVM2.2.02.106.tgz.asc b/LVM2.2.02.106.tgz.asc deleted file mode 100644 index 2a31a10..0000000 --- a/LVM2.2.02.106.tgz.asc +++ /dev/null @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.14 (GNU/Linux) - -iEYEABECAAYFAlNGwgEACgkQIoGRwVZ+LBepigCg7+sjOqeshsgDO0nGZTIcFOch -F44AoJWQWWLCE9fJULLu4KSZu3JZTyuU -=0JeO ------END PGP SIGNATURE----- diff --git a/LVM2.2.02.107.tgz.asc b/LVM2.2.02.107.tgz.asc new file mode 100644 index 0000000..bd727a1 --- /dev/null +++ b/LVM2.2.02.107.tgz.asc @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.14 (GNU/Linux) + +iEYEABECAAYFAlOoNjEACgkQIoGRwVZ+LBfe1QCgniX0vvTU0AAHyU7u1I0GlYiZ ++vIAmQHfj/qZq0WeB4r2VQMyS0LVfiF6 +=2hPx +-----END PGP SIGNATURE----- diff --git a/lvm2.spec b/lvm2.spec index d2c5e3a..0f41459 100644 --- a/lvm2.spec +++ b/lvm2.spec @@ -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 - 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 - 2.02.106-5 - Remove separate sub-package release tags to fix last commit. diff --git a/sources b/sources index d8e656b..667b534 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -77f84279fb649b3dc4edad1c6d1a1b0e LVM2.2.02.106.tgz +efa5b0ff0245cbccf53aec1f3d8840ba LVM2.2.02.107.tgz diff --git a/upstream b/upstream index 26f71d9..7e7b83c 100644 --- a/upstream +++ b/upstream @@ -1 +1 @@ -LVM2.2.02.106.tgz +LVM2.2.02.107.tgz