lvm2/make-mirror-legs-on-different-tag-pvs.patch

180 lines
7.2 KiB
Diff
Raw Normal View History

From a83a3ec7292197bd870cae570ed545267899bc5e Mon Sep 17 00:00:00 2001
Accepting request 487889 from home:jnelson-suse:branches:Base:System - Update device mapper version to 1.02.138, see WHATS_NEW_DM for detailed changelogs * Drop obsolete lvmchange files accordingly - Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch - Refresh make-mirror-legs-on-different-tag-pvs.patch - device-mapper-dmsetup-export.patch - LVM version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM files for detailed changelogs old: Base:System/lvm2 new: home:jnelson-suse:branches:Base:System/lvm2 rev None Index: device-mapper-dmsetup-export.patch =================================================================== --- device-mapper-dmsetup-export.patch (revision 176) +++ device-mapper-dmsetup-export.patch (revision 5) @@ -1,7 +1,20 @@ -Index: LVM2.2.02.139/man/dmsetup.8.in +From b148cb1c1e801455cb774f51eecd57f7e4f98c39 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:58:56 +0800 +Subject: [PATCH] DM: add dmsetup export + +bsc#479104 + +Patch-refreshed-by: Eric Ren <zren@suse.com> +--- + man/dmsetup.8_main | 16 +++- + tools/dmsetup.c | 252 ++++++++++++++++++++++++++++++++++++++++++++++++++++- + 2 files changed, 266 insertions(+), 2 deletions(-) + +Index: LVM2.2.02.169/man/dmsetup.8_main =================================================================== ---- LVM2.2.02.139.orig/man/dmsetup.8.in -+++ LVM2.2.02.139/man/dmsetup.8.in +--- LVM2.2.02.169.orig/man/dmsetup.8_main ++++ LVM2.2.02.169/man/dmsetup.8_main @@ -97,7 +97,15 @@ dmsetup \(em low level logical volume ma .. .CMD_LOAD @@ -23,20 +36,20 @@ See below for more information on the table format. . .HP -+.BR \-\-export ++.BR --export +.IR export +.br +Outputs information in key/value format to be imported by other programs. +. +.HP - .BR \-\-udevcookie + .BR --udevcookie .IR cookie .br -Index: LVM2.2.02.139/tools/dmsetup.c +Index: LVM2.2.02.169/tools/dmsetup.c =================================================================== ---- LVM2.2.02.139.orig/tools/dmsetup.c -+++ LVM2.2.02.139/tools/dmsetup.c -@@ -2177,6 +2177,129 @@ out: +--- LVM2.2.02.169.orig/tools/dmsetup.c ++++ LVM2.2.02.169/tools/dmsetup.c +@@ -2231,6 +2231,129 @@ out: return r; } @@ -166,11 +179,16 @@ /* Show target names and their version numbers */ static int _targets(CMD_ARGS) { -@@ -5138,6 +5261,7 @@ static struct command _dmsetup_commands[ - {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, - {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, - {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +@@ -5904,7 +6027,11 @@ static struct command _dmsetup_commands[ + {"deps", "[-o <options>] [<device>...]", 0, -1, 1, 0, _deps}, + {"stats", "<command> [<options>] [<device>...]", 1, -1, 1, 1, _stats}, + {"status", "[<device>...] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +- {"table", "[<device>...] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, ++ {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, ++ {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, + {"export", "[<device>]", 0, -1, 1, 0, _export}, - {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, {"wait", "<device> [<event_nr>] [--noflush]", 0, 2, 0, 0, _wait}, - {"mknodes", "[<device>]", 0, -1, 1, 0, _mknodes}, + {"mknodes", "[<device>...]", 0, -1, 1, 0, _mknodes}, + {"mangle", "[<device>...]", 0, -1, 1, 0, _mangle}, Index: device-mapper.changes =================================================================== --- device-mapper.changes (revision 176) +++ device-mapper.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: device-mapper.spec =================================================================== --- device-mapper.spec (revision 176) +++ device-mapper.spec (revision 5) @@ -19,8 +19,8 @@ %define libname libdevmapper1_03 %define libname_event libdevmapper-event1_03 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: device-mapper Index: libdm-iface-not-output-error-message-inside-retry-loop.patch =================================================================== --- libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 176) +++ libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 5) @@ -1,22 +1,25 @@ -From a70f17fd1dc9a8cccefb946c3501d5cb6f2766bb Mon Sep 17 00:00:00 2001 -From: Liuhua Wang <lwang@suse.com> -Date: Mon, 23 Nov 2015 13:49:39 +0800 +From 3c4d9dd3571e89545d97c8421fd4cbdbaa6895b8 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 11:09:26 +0800 Subject: [PATCH] libdm-iface: not output error message inside retry loops -This is a workaround to avoid noisy error message being output inside retry loops -in case of remove failure because device busy. But as to the replies from upstream +This is a workaround to avoid noisy error message being output inside +retry loops +in case of remove failure because device busy. But as to the replies +from upstream there may be some issues in udev operations. References: bsc#940298 boo#957059 Signed-off-by: lwang@suse.com +Patch-refreshed-by: Eric Ren <zren@suse.com> --- - libdm/ioctl/libdm-iface.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + libdm/ioctl/libdm-iface.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) -Index: LVM2.2.02.141/libdm/ioctl/libdm-iface.c -=================================================================== ---- LVM2.2.02.141.orig/libdm/ioctl/libdm-iface.c -+++ LVM2.2.02.141/libdm/ioctl/libdm-iface.c +diff --git a/libdm/ioctl/libdm-iface.c b/libdm/ioctl/libdm-iface.c +index cb3e8dc..c1c0771 100644 +--- a/libdm/ioctl/libdm-iface.c ++++ b/libdm/ioctl/libdm-iface.c @@ -62,6 +62,7 @@ */ #define MAPPER_CTRL_MINOR 236 @@ -25,15 +28,17 @@ /* dm major version no for running kernel */ static unsigned _dm_version = DM_VERSION_MAJOR; -@@ -1862,7 +1863,7 @@ static struct dm_ioctl *_do_dm_ioctl(str +@@ -1862,8 +1863,8 @@ static struct dm_ioctl *_do_dm_ioctl(struct dm_task *dmt, unsigned command, dmt->major > 0 && dmt->minor == 0 ? "0" : "", dmt->major > 0 ? ")" : "", strerror(dmt->ioctl_errno)); - else +- log_error("device-mapper: %s ioctl on %s %s%s%.0d%s%.0d%s%s " + else if(errno != EBUSY || retry_repeat_count == DM_IOCTL_RETRIES) - log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " ++ log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " "failed: %s", _cmd_data_v4[dmt->type].name, + dmi->name, dmi->uuid, @@ -1915,7 +1916,6 @@ void dm_task_update_nodes(void) update_devs(); } @@ -42,3 +47,6 @@ #define DM_RETRY_USLEEP_DELAY 200000 int dm_task_get_errno(struct dm_task *dmt) +-- +2.10.2 + Index: lvm2-clvm.changes =================================================================== --- lvm2-clvm.changes (revision 176) +++ lvm2-clvm.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2-clvm.spec =================================================================== --- lvm2-clvm.spec (revision 176) +++ lvm2-clvm.spec (revision 5) @@ -19,8 +19,8 @@ %define dlm_version 3.99.1 %define sanlock_version 3.3.0 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2-clvm Index: lvm2.changes =================================================================== --- lvm2.changes (revision 176) +++ lvm2.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2.spec =================================================================== --- lvm2.spec (revision 176) +++ lvm2.spec (revision 5) @@ -20,8 +20,8 @@ %define applib liblvm2app2_2 %define cmdlib liblvm2cmd2_02 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2 @@ -282,7 +282,6 @@ %{_sbindir}/lvcreate %{_sbindir}/lvdisplay %{_sbindir}/lvextend -%{_sbindir}/lvmchange %{_sbindir}/lvmdiskscan %{_sbindir}/lvmsadc %{_sbindir}/lvmsar @@ -336,7 +335,6 @@ /sbin/lvcreate /sbin/lvdisplay /sbin/lvextend -/sbin/lvmchange /sbin/lvmdiskscan /sbin/lvmsadc /sbin/lvmsar @@ -391,7 +389,6 @@ %{_mandir}/man8/lvm-config.8%{ext_man} %{_mandir}/man8/lvmconfig.8%{ext_man} %{_mandir}/man8/lvm-dumpconfig.8%{ext_man} -%{_mandir}/man8/lvmchange.8%{ext_man} %{_mandir}/man8/lvmconf.8%{ext_man} %{_mandir}/man8/lvmdiskscan.8%{ext_man} %{_mandir}/man8/lvmdump.8%{ext_man} Index: make-mirror-legs-on-different-tag-pvs.patch =================================================================== --- make-mirror-legs-on-different-tag-pvs.patch (revision 176) +++ make-mirror-legs-on-different-tag-pvs.patch (revision 5) @@ -1,10 +1,10 @@ -From 49a5da732c74b8b96bc123a541d590c4fd06d7af Mon Sep 17 00:00:00 2001 -From: Guangliang Zhao <gzhao@suse.com> -Date: Mon, 12 Nov 2012 15:28:11 +0800 -Subject: [PATCH 1/2] mirror: make mirror legs on different tag pvs +From b17f2ae4334f9233a88d7a2fcae325f86691beb0 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:44:30 +0800 +Subject: [PATCH] [PATCH 1/2] mirror: make mirror legs on different tag pvs -The mirror legs could be placed on the PVs(with different -tags) from the other mirror legs with this patch. +The mirror legs could be placed on the PVs(with different tags) +from the other mirror legs with this patch. The lvcreate allocates the replica "randomly" when creating a mirrored logical volume now, so it could happen that both @@ -17,18 +17,19 @@ always be placed on pvs with differnt tags. Signed-off-by: Guangliang Zhao <gzhao@suse.com> +Fix-conflict-by: Eric Ren <zren@suse.com> --- - conf/example.conf.in | 17 +++++++++++++++++ - lib/config/config_settings.h | 3 +++ - lib/config/defaults.h | 1 + - lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ - man/lvcreate.8.in | 4 ++++ - 5 files changed, 60 insertions(+) + conf/example.conf.in | 17 +++++++++++++++++ + lib/config/config_settings.h | 5 ++++- + lib/config/defaults.h | 1 + + lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ + man/lvcreate.8_pregen | 7 +++++++ + 5 files changed, 64 insertions(+), 1 deletion(-) -Index: LVM2.2.02.165/conf/example.conf.in -=================================================================== ---- LVM2.2.02.165.orig/conf/example.conf.in -+++ LVM2.2.02.165/conf/example.conf.in +diff --git a/conf/example.conf.in b/conf/example.conf.in +index 614ce53..b33289f 100644 +--- a/conf/example.conf.in ++++ b/conf/example.conf.in @@ -372,6 +372,23 @@ allocation { # or erased unless the --wipesignatures option is used directly. wipe_signatures_when_zeroing_new_lvs = 1 @@ -53,25 +54,27 @@ # Configuration option allocation/mirror_logs_require_separate_pvs. # Mirror logs and images will always use different PVs. # The default setting changed in version 2.02.85. -Index: LVM2.2.02.165/lib/config/config_settings.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/config_settings.h -+++ LVM2.2.02.165/lib/config/config_settings.h -@@ -473,6 +473,9 @@ cfg(allocation_raid_stripe_all_devices_C +diff --git a/lib/config/config_settings.h b/lib/config/config_settings.h +index b701722..0e5a5e2 100644 +--- a/lib/config/config_settings.h ++++ b/lib/config/config_settings.h +@@ -473,7 +473,10 @@ cfg(allocation_raid_stripe_all_devices_CFG, "raid_stripe_all_devices", allocatio "when the command does not specify the number of stripes to use.\n" "This was the default behaviour until release 2.02.162.\n") +-cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, +cfg(allocation_mirror_legs_require_separate_pvs_CFG, "mirror_legs_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_MIRROR_LEGS_REQUIRE_SEPARATE_PVS, vsn(2, 2, 98), NULL, 0, NULL, + "Mirror legs will always use different PVs.\n") + - cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, ++cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, "Cache pool metadata and data will always use different PVs.\n") -Index: LVM2.2.02.165/lib/config/defaults.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/defaults.h -+++ LVM2.2.02.165/lib/config/defaults.h -@@ -158,6 +158,7 @@ + cfg(allocation_cache_pool_cachemode_CFG, "cache_pool_cachemode", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA | CFG_DEFAULT_COMMENTED, CFG_TYPE_STRING, DEFAULT_CACHE_MODE, vsn(2, 2, 113), NULL, vsn(2, 2, 128), +diff --git a/lib/config/defaults.h b/lib/config/defaults.h +index 2340636..256fab6 100644 +--- a/lib/config/defaults.h ++++ b/lib/config/defaults.h +@@ -159,6 +159,7 @@ #define DEFAULT_MAX_LV 0 #define DEFAULT_ALLOC_POLICY ALLOC_NORMAL #define DEFAULT_MIRROR_LOGS_REQUIRE_SEPARATE_PVS 0 @@ -79,11 +82,11 @@ #define DEFAULT_MAXIMISE_CLING 1 #define DEFAULT_CLUSTERED 0 -Index: LVM2.2.02.165/lib/metadata/lv_manip.c -=================================================================== ---- LVM2.2.02.165.orig/lib/metadata/lv_manip.c -+++ LVM2.2.02.165/lib/metadata/lv_manip.c -@@ -1519,6 +1519,9 @@ struct alloc_handle { +diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c +index 0dfbad4..357e46a 100644 +--- a/lib/metadata/lv_manip.c ++++ b/lib/metadata/lv_manip.c +@@ -1622,6 +1622,9 @@ struct alloc_handle { unsigned maximise_cling; unsigned mirror_logs_separate; /* Force mirror logs on separate PVs? */ @@ -93,7 +96,7 @@ /* * RAID devices require a metadata area that accompanies each -@@ -2633,6 +2636,32 @@ static int _limit_to_one_area_per_tag(st +@@ -2736,6 +2739,32 @@ static int _limit_to_one_area_per_tag(struct alloc_handle *ah, struct alloc_stat } /* @@ -126,7 +129,7 @@ * Returns 1 regardless of whether any space was found, except on error. */ static int _find_some_parallel_space(struct alloc_handle *ah, -@@ -2762,6 +2791,10 @@ static int _find_some_parallel_space(str +@@ -2865,6 +2894,10 @@ static int _find_some_parallel_space(struct alloc_handle *ah, continue; case USE_AREA: @@ -137,7 +140,7 @@ /* * Except with ALLOC_ANYWHERE, replace first area with this * one which is smaller but still big enough. -@@ -3243,6 +3276,7 @@ static struct alloc_handle *_alloc_init( +@@ -3355,6 +3388,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->parity_count = parity_count; ah->region_size = region_size; ah->alloc = alloc; @@ -145,7 +148,7 @@ /* * For the purposes of allocation, area_count and parity_count are -@@ -3254,6 +3288,7 @@ static struct alloc_handle *_alloc_init( +@@ -3366,6 +3400,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->area_multiple = _calc_area_multiple(segtype, area_count + parity_count, stripes); //FIXME: s/mirror_logs_separate/metadata_separate/ so it can be used by others? ah->mirror_logs_separate = find_config_tree_bool(cmd, allocation_mirror_logs_require_separate_pvs_CFG, NULL); @@ -153,18 +156,24 @@ if (mirrors || stripes) total_extents = new_extents; -Index: LVM2.2.02.165/man/lvcreate.8.in -=================================================================== ---- LVM2.2.02.165.orig/man/lvcreate.8.in -+++ LVM2.2.02.165/man/lvcreate.8.in -@@ -418,6 +418,10 @@ Using \fBcore\fP means the mirror is reg - from the first device each time the logical volume is activated, - like after every reboot. +diff --git a/man/lvcreate.8_pregen b/man/lvcreate.8_pregen +index 6663087..c385927 100644 +--- a/man/lvcreate.8_pregen ++++ b/man/lvcreate.8_pregen +@@ -416,6 +416,13 @@ Create a raid10 LV. + [ \fB-I\fP|\fB--stripesize\fP \fISize\fP[k|UNIT] ] + .ad b .br +Every leg of the mirrored logical volume could be placed on the pvs with +same tag, see details(mirror_legs_require_separate_pvs) in lvm.conf. + +.br - Using \fBmirrored\fP will create a persistent log that is itself mirrored. - . - .HP ++Using \fBmirrored\fP will create a persistent log that is itself mirrored. ++. ++.HP + .ad l + [ \fB-R\fP|\fB--regionsize\fP \fISize\fP[m|UNIT] ] + .ad b +-- +2.10.2 + Index: LVM2.2.02.169.tgz =================================================================== Binary file LVM2.2.02.169.tgz (revision 5) added Index: LVM2.2.02.169.tgz.asc =================================================================== --- LVM2.2.02.169.tgz.asc (added) +++ LVM2.2.02.169.tgz.asc (revision 5) @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.14 (GNU/Linux) + +iEYEABECAAYFAljafgEACgkQIoGRwVZ+LBeo5wCfVaQeSN73FPcJf86c3aqrFmZu +Rs0AoJ6l75QbY2V55rhunJvwwDllKlpF +=0Jtt +-----END PGP SIGNATURE----- Index: LVM2.2.02.168.tgz =================================================================== Binary file LVM2.2.02.168.tgz (revision 176) deleted Index: LVM2.2.02.168.tgz.asc =================================================================== --- LVM2.2.02.168.tgz.asc (revision 176) +++ LVM2.2.02.168.tgz.asc (deleted) @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.14 (GNU/Linux) - -iEUEABECAAYFAlg/XqMACgkQIoGRwVZ+LBdjQACVGeU4I+B5ETIhINJeYXy2bLNu -hQCgxEmGwG0ec2frSXhQociTYfT6vVc= -=T5md ------END PGP SIGNATURE----- OBS-URL: https://build.opensuse.org/request/show/487889 OBS-URL: https://build.opensuse.org/package/show/Base:System/lvm2?expand=0&rev=177
2017-04-18 12:55:18 +02:00
From: Eric Ren <zren@suse.com>
Date: Tue, 4 Jul 2017 19:42:14 +0800
Subject: [PATCH 1/2] mirror: make mirror legs on different tag pvs
Accepting request 487889 from home:jnelson-suse:branches:Base:System - Update device mapper version to 1.02.138, see WHATS_NEW_DM for detailed changelogs * Drop obsolete lvmchange files accordingly - Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch - Refresh make-mirror-legs-on-different-tag-pvs.patch - device-mapper-dmsetup-export.patch - LVM version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM files for detailed changelogs old: Base:System/lvm2 new: home:jnelson-suse:branches:Base:System/lvm2 rev None Index: device-mapper-dmsetup-export.patch =================================================================== --- device-mapper-dmsetup-export.patch (revision 176) +++ device-mapper-dmsetup-export.patch (revision 5) @@ -1,7 +1,20 @@ -Index: LVM2.2.02.139/man/dmsetup.8.in +From b148cb1c1e801455cb774f51eecd57f7e4f98c39 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:58:56 +0800 +Subject: [PATCH] DM: add dmsetup export + +bsc#479104 + +Patch-refreshed-by: Eric Ren <zren@suse.com> +--- + man/dmsetup.8_main | 16 +++- + tools/dmsetup.c | 252 ++++++++++++++++++++++++++++++++++++++++++++++++++++- + 2 files changed, 266 insertions(+), 2 deletions(-) + +Index: LVM2.2.02.169/man/dmsetup.8_main =================================================================== ---- LVM2.2.02.139.orig/man/dmsetup.8.in -+++ LVM2.2.02.139/man/dmsetup.8.in +--- LVM2.2.02.169.orig/man/dmsetup.8_main ++++ LVM2.2.02.169/man/dmsetup.8_main @@ -97,7 +97,15 @@ dmsetup \(em low level logical volume ma .. .CMD_LOAD @@ -23,20 +36,20 @@ See below for more information on the table format. . .HP -+.BR \-\-export ++.BR --export +.IR export +.br +Outputs information in key/value format to be imported by other programs. +. +.HP - .BR \-\-udevcookie + .BR --udevcookie .IR cookie .br -Index: LVM2.2.02.139/tools/dmsetup.c +Index: LVM2.2.02.169/tools/dmsetup.c =================================================================== ---- LVM2.2.02.139.orig/tools/dmsetup.c -+++ LVM2.2.02.139/tools/dmsetup.c -@@ -2177,6 +2177,129 @@ out: +--- LVM2.2.02.169.orig/tools/dmsetup.c ++++ LVM2.2.02.169/tools/dmsetup.c +@@ -2231,6 +2231,129 @@ out: return r; } @@ -166,11 +179,16 @@ /* Show target names and their version numbers */ static int _targets(CMD_ARGS) { -@@ -5138,6 +5261,7 @@ static struct command _dmsetup_commands[ - {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, - {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, - {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +@@ -5904,7 +6027,11 @@ static struct command _dmsetup_commands[ + {"deps", "[-o <options>] [<device>...]", 0, -1, 1, 0, _deps}, + {"stats", "<command> [<options>] [<device>...]", 1, -1, 1, 1, _stats}, + {"status", "[<device>...] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +- {"table", "[<device>...] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, ++ {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, ++ {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, + {"export", "[<device>]", 0, -1, 1, 0, _export}, - {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, {"wait", "<device> [<event_nr>] [--noflush]", 0, 2, 0, 0, _wait}, - {"mknodes", "[<device>]", 0, -1, 1, 0, _mknodes}, + {"mknodes", "[<device>...]", 0, -1, 1, 0, _mknodes}, + {"mangle", "[<device>...]", 0, -1, 1, 0, _mangle}, Index: device-mapper.changes =================================================================== --- device-mapper.changes (revision 176) +++ device-mapper.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: device-mapper.spec =================================================================== --- device-mapper.spec (revision 176) +++ device-mapper.spec (revision 5) @@ -19,8 +19,8 @@ %define libname libdevmapper1_03 %define libname_event libdevmapper-event1_03 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: device-mapper Index: libdm-iface-not-output-error-message-inside-retry-loop.patch =================================================================== --- libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 176) +++ libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 5) @@ -1,22 +1,25 @@ -From a70f17fd1dc9a8cccefb946c3501d5cb6f2766bb Mon Sep 17 00:00:00 2001 -From: Liuhua Wang <lwang@suse.com> -Date: Mon, 23 Nov 2015 13:49:39 +0800 +From 3c4d9dd3571e89545d97c8421fd4cbdbaa6895b8 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 11:09:26 +0800 Subject: [PATCH] libdm-iface: not output error message inside retry loops -This is a workaround to avoid noisy error message being output inside retry loops -in case of remove failure because device busy. But as to the replies from upstream +This is a workaround to avoid noisy error message being output inside +retry loops +in case of remove failure because device busy. But as to the replies +from upstream there may be some issues in udev operations. References: bsc#940298 boo#957059 Signed-off-by: lwang@suse.com +Patch-refreshed-by: Eric Ren <zren@suse.com> --- - libdm/ioctl/libdm-iface.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + libdm/ioctl/libdm-iface.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) -Index: LVM2.2.02.141/libdm/ioctl/libdm-iface.c -=================================================================== ---- LVM2.2.02.141.orig/libdm/ioctl/libdm-iface.c -+++ LVM2.2.02.141/libdm/ioctl/libdm-iface.c +diff --git a/libdm/ioctl/libdm-iface.c b/libdm/ioctl/libdm-iface.c +index cb3e8dc..c1c0771 100644 +--- a/libdm/ioctl/libdm-iface.c ++++ b/libdm/ioctl/libdm-iface.c @@ -62,6 +62,7 @@ */ #define MAPPER_CTRL_MINOR 236 @@ -25,15 +28,17 @@ /* dm major version no for running kernel */ static unsigned _dm_version = DM_VERSION_MAJOR; -@@ -1862,7 +1863,7 @@ static struct dm_ioctl *_do_dm_ioctl(str +@@ -1862,8 +1863,8 @@ static struct dm_ioctl *_do_dm_ioctl(struct dm_task *dmt, unsigned command, dmt->major > 0 && dmt->minor == 0 ? "0" : "", dmt->major > 0 ? ")" : "", strerror(dmt->ioctl_errno)); - else +- log_error("device-mapper: %s ioctl on %s %s%s%.0d%s%.0d%s%s " + else if(errno != EBUSY || retry_repeat_count == DM_IOCTL_RETRIES) - log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " ++ log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " "failed: %s", _cmd_data_v4[dmt->type].name, + dmi->name, dmi->uuid, @@ -1915,7 +1916,6 @@ void dm_task_update_nodes(void) update_devs(); } @@ -42,3 +47,6 @@ #define DM_RETRY_USLEEP_DELAY 200000 int dm_task_get_errno(struct dm_task *dmt) +-- +2.10.2 + Index: lvm2-clvm.changes =================================================================== --- lvm2-clvm.changes (revision 176) +++ lvm2-clvm.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2-clvm.spec =================================================================== --- lvm2-clvm.spec (revision 176) +++ lvm2-clvm.spec (revision 5) @@ -19,8 +19,8 @@ %define dlm_version 3.99.1 %define sanlock_version 3.3.0 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2-clvm Index: lvm2.changes =================================================================== --- lvm2.changes (revision 176) +++ lvm2.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2.spec =================================================================== --- lvm2.spec (revision 176) +++ lvm2.spec (revision 5) @@ -20,8 +20,8 @@ %define applib liblvm2app2_2 %define cmdlib liblvm2cmd2_02 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2 @@ -282,7 +282,6 @@ %{_sbindir}/lvcreate %{_sbindir}/lvdisplay %{_sbindir}/lvextend -%{_sbindir}/lvmchange %{_sbindir}/lvmdiskscan %{_sbindir}/lvmsadc %{_sbindir}/lvmsar @@ -336,7 +335,6 @@ /sbin/lvcreate /sbin/lvdisplay /sbin/lvextend -/sbin/lvmchange /sbin/lvmdiskscan /sbin/lvmsadc /sbin/lvmsar @@ -391,7 +389,6 @@ %{_mandir}/man8/lvm-config.8%{ext_man} %{_mandir}/man8/lvmconfig.8%{ext_man} %{_mandir}/man8/lvm-dumpconfig.8%{ext_man} -%{_mandir}/man8/lvmchange.8%{ext_man} %{_mandir}/man8/lvmconf.8%{ext_man} %{_mandir}/man8/lvmdiskscan.8%{ext_man} %{_mandir}/man8/lvmdump.8%{ext_man} Index: make-mirror-legs-on-different-tag-pvs.patch =================================================================== --- make-mirror-legs-on-different-tag-pvs.patch (revision 176) +++ make-mirror-legs-on-different-tag-pvs.patch (revision 5) @@ -1,10 +1,10 @@ -From 49a5da732c74b8b96bc123a541d590c4fd06d7af Mon Sep 17 00:00:00 2001 -From: Guangliang Zhao <gzhao@suse.com> -Date: Mon, 12 Nov 2012 15:28:11 +0800 -Subject: [PATCH 1/2] mirror: make mirror legs on different tag pvs +From b17f2ae4334f9233a88d7a2fcae325f86691beb0 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:44:30 +0800 +Subject: [PATCH] [PATCH 1/2] mirror: make mirror legs on different tag pvs -The mirror legs could be placed on the PVs(with different -tags) from the other mirror legs with this patch. +The mirror legs could be placed on the PVs(with different tags) +from the other mirror legs with this patch. The lvcreate allocates the replica "randomly" when creating a mirrored logical volume now, so it could happen that both @@ -17,18 +17,19 @@ always be placed on pvs with differnt tags. Signed-off-by: Guangliang Zhao <gzhao@suse.com> +Fix-conflict-by: Eric Ren <zren@suse.com> --- - conf/example.conf.in | 17 +++++++++++++++++ - lib/config/config_settings.h | 3 +++ - lib/config/defaults.h | 1 + - lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ - man/lvcreate.8.in | 4 ++++ - 5 files changed, 60 insertions(+) + conf/example.conf.in | 17 +++++++++++++++++ + lib/config/config_settings.h | 5 ++++- + lib/config/defaults.h | 1 + + lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ + man/lvcreate.8_pregen | 7 +++++++ + 5 files changed, 64 insertions(+), 1 deletion(-) -Index: LVM2.2.02.165/conf/example.conf.in -=================================================================== ---- LVM2.2.02.165.orig/conf/example.conf.in -+++ LVM2.2.02.165/conf/example.conf.in +diff --git a/conf/example.conf.in b/conf/example.conf.in +index 614ce53..b33289f 100644 +--- a/conf/example.conf.in ++++ b/conf/example.conf.in @@ -372,6 +372,23 @@ allocation { # or erased unless the --wipesignatures option is used directly. wipe_signatures_when_zeroing_new_lvs = 1 @@ -53,25 +54,27 @@ # Configuration option allocation/mirror_logs_require_separate_pvs. # Mirror logs and images will always use different PVs. # The default setting changed in version 2.02.85. -Index: LVM2.2.02.165/lib/config/config_settings.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/config_settings.h -+++ LVM2.2.02.165/lib/config/config_settings.h -@@ -473,6 +473,9 @@ cfg(allocation_raid_stripe_all_devices_C +diff --git a/lib/config/config_settings.h b/lib/config/config_settings.h +index b701722..0e5a5e2 100644 +--- a/lib/config/config_settings.h ++++ b/lib/config/config_settings.h +@@ -473,7 +473,10 @@ cfg(allocation_raid_stripe_all_devices_CFG, "raid_stripe_all_devices", allocatio "when the command does not specify the number of stripes to use.\n" "This was the default behaviour until release 2.02.162.\n") +-cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, +cfg(allocation_mirror_legs_require_separate_pvs_CFG, "mirror_legs_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_MIRROR_LEGS_REQUIRE_SEPARATE_PVS, vsn(2, 2, 98), NULL, 0, NULL, + "Mirror legs will always use different PVs.\n") + - cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, ++cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, "Cache pool metadata and data will always use different PVs.\n") -Index: LVM2.2.02.165/lib/config/defaults.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/defaults.h -+++ LVM2.2.02.165/lib/config/defaults.h -@@ -158,6 +158,7 @@ + cfg(allocation_cache_pool_cachemode_CFG, "cache_pool_cachemode", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA | CFG_DEFAULT_COMMENTED, CFG_TYPE_STRING, DEFAULT_CACHE_MODE, vsn(2, 2, 113), NULL, vsn(2, 2, 128), +diff --git a/lib/config/defaults.h b/lib/config/defaults.h +index 2340636..256fab6 100644 +--- a/lib/config/defaults.h ++++ b/lib/config/defaults.h +@@ -159,6 +159,7 @@ #define DEFAULT_MAX_LV 0 #define DEFAULT_ALLOC_POLICY ALLOC_NORMAL #define DEFAULT_MIRROR_LOGS_REQUIRE_SEPARATE_PVS 0 @@ -79,11 +82,11 @@ #define DEFAULT_MAXIMISE_CLING 1 #define DEFAULT_CLUSTERED 0 -Index: LVM2.2.02.165/lib/metadata/lv_manip.c -=================================================================== ---- LVM2.2.02.165.orig/lib/metadata/lv_manip.c -+++ LVM2.2.02.165/lib/metadata/lv_manip.c -@@ -1519,6 +1519,9 @@ struct alloc_handle { +diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c +index 0dfbad4..357e46a 100644 +--- a/lib/metadata/lv_manip.c ++++ b/lib/metadata/lv_manip.c +@@ -1622,6 +1622,9 @@ struct alloc_handle { unsigned maximise_cling; unsigned mirror_logs_separate; /* Force mirror logs on separate PVs? */ @@ -93,7 +96,7 @@ /* * RAID devices require a metadata area that accompanies each -@@ -2633,6 +2636,32 @@ static int _limit_to_one_area_per_tag(st +@@ -2736,6 +2739,32 @@ static int _limit_to_one_area_per_tag(struct alloc_handle *ah, struct alloc_stat } /* @@ -126,7 +129,7 @@ * Returns 1 regardless of whether any space was found, except on error. */ static int _find_some_parallel_space(struct alloc_handle *ah, -@@ -2762,6 +2791,10 @@ static int _find_some_parallel_space(str +@@ -2865,6 +2894,10 @@ static int _find_some_parallel_space(struct alloc_handle *ah, continue; case USE_AREA: @@ -137,7 +140,7 @@ /* * Except with ALLOC_ANYWHERE, replace first area with this * one which is smaller but still big enough. -@@ -3243,6 +3276,7 @@ static struct alloc_handle *_alloc_init( +@@ -3355,6 +3388,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->parity_count = parity_count; ah->region_size = region_size; ah->alloc = alloc; @@ -145,7 +148,7 @@ /* * For the purposes of allocation, area_count and parity_count are -@@ -3254,6 +3288,7 @@ static struct alloc_handle *_alloc_init( +@@ -3366,6 +3400,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->area_multiple = _calc_area_multiple(segtype, area_count + parity_count, stripes); //FIXME: s/mirror_logs_separate/metadata_separate/ so it can be used by others? ah->mirror_logs_separate = find_config_tree_bool(cmd, allocation_mirror_logs_require_separate_pvs_CFG, NULL); @@ -153,18 +156,24 @@ if (mirrors || stripes) total_extents = new_extents; -Index: LVM2.2.02.165/man/lvcreate.8.in -=================================================================== ---- LVM2.2.02.165.orig/man/lvcreate.8.in -+++ LVM2.2.02.165/man/lvcreate.8.in -@@ -418,6 +418,10 @@ Using \fBcore\fP means the mirror is reg - from the first device each time the logical volume is activated, - like after every reboot. +diff --git a/man/lvcreate.8_pregen b/man/lvcreate.8_pregen +index 6663087..c385927 100644 +--- a/man/lvcreate.8_pregen ++++ b/man/lvcreate.8_pregen +@@ -416,6 +416,13 @@ Create a raid10 LV. + [ \fB-I\fP|\fB--stripesize\fP \fISize\fP[k|UNIT] ] + .ad b .br +Every leg of the mirrored logical volume could be placed on the pvs with +same tag, see details(mirror_legs_require_separate_pvs) in lvm.conf. + +.br - Using \fBmirrored\fP will create a persistent log that is itself mirrored. - . - .HP ++Using \fBmirrored\fP will create a persistent log that is itself mirrored. ++. ++.HP + .ad l + [ \fB-R\fP|\fB--regionsize\fP \fISize\fP[m|UNIT] ] + .ad b +-- +2.10.2 + Index: LVM2.2.02.169.tgz =================================================================== Binary file LVM2.2.02.169.tgz (revision 5) added Index: LVM2.2.02.169.tgz.asc =================================================================== --- LVM2.2.02.169.tgz.asc (added) +++ LVM2.2.02.169.tgz.asc (revision 5) @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.14 (GNU/Linux) + +iEYEABECAAYFAljafgEACgkQIoGRwVZ+LBeo5wCfVaQeSN73FPcJf86c3aqrFmZu +Rs0AoJ6l75QbY2V55rhunJvwwDllKlpF +=0Jtt +-----END PGP SIGNATURE----- Index: LVM2.2.02.168.tgz =================================================================== Binary file LVM2.2.02.168.tgz (revision 176) deleted Index: LVM2.2.02.168.tgz.asc =================================================================== --- LVM2.2.02.168.tgz.asc (revision 176) +++ LVM2.2.02.168.tgz.asc (deleted) @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.14 (GNU/Linux) - -iEUEABECAAYFAlg/XqMACgkQIoGRwVZ+LBdjQACVGeU4I+B5ETIhINJeYXy2bLNu -hQCgxEmGwG0ec2frSXhQociTYfT6vVc= -=T5md ------END PGP SIGNATURE----- OBS-URL: https://build.opensuse.org/request/show/487889 OBS-URL: https://build.opensuse.org/package/show/Base:System/lvm2?expand=0&rev=177
2017-04-18 12:55:18 +02:00
The mirror legs could be placed on the PVs(with different tags)
from the other mirror legs with this patch.
The lvcreate allocates the replica "randomly" when creating
a mirrored logical volume now, so it could happen that both
copies end up on the same array (or on the same site), clearly
undesired.
We can't control the fist allocation, because didn't restrict
the areas into parallel space. This patch add the limit when
finding areas for parallel space, so that mirror legs will
always be placed on pvs with differnt tags.
Signed-off-by: Guangliang Zhao <gzhao@suse.com>
Refreshed-by: Eric Ren <zren@suse.com>
---
Accepting request 487889 from home:jnelson-suse:branches:Base:System - Update device mapper version to 1.02.138, see WHATS_NEW_DM for detailed changelogs * Drop obsolete lvmchange files accordingly - Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch - Refresh make-mirror-legs-on-different-tag-pvs.patch - device-mapper-dmsetup-export.patch - LVM version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM files for detailed changelogs old: Base:System/lvm2 new: home:jnelson-suse:branches:Base:System/lvm2 rev None Index: device-mapper-dmsetup-export.patch =================================================================== --- device-mapper-dmsetup-export.patch (revision 176) +++ device-mapper-dmsetup-export.patch (revision 5) @@ -1,7 +1,20 @@ -Index: LVM2.2.02.139/man/dmsetup.8.in +From b148cb1c1e801455cb774f51eecd57f7e4f98c39 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:58:56 +0800 +Subject: [PATCH] DM: add dmsetup export + +bsc#479104 + +Patch-refreshed-by: Eric Ren <zren@suse.com> +--- + man/dmsetup.8_main | 16 +++- + tools/dmsetup.c | 252 ++++++++++++++++++++++++++++++++++++++++++++++++++++- + 2 files changed, 266 insertions(+), 2 deletions(-) + +Index: LVM2.2.02.169/man/dmsetup.8_main =================================================================== ---- LVM2.2.02.139.orig/man/dmsetup.8.in -+++ LVM2.2.02.139/man/dmsetup.8.in +--- LVM2.2.02.169.orig/man/dmsetup.8_main ++++ LVM2.2.02.169/man/dmsetup.8_main @@ -97,7 +97,15 @@ dmsetup \(em low level logical volume ma .. .CMD_LOAD @@ -23,20 +36,20 @@ See below for more information on the table format. . .HP -+.BR \-\-export ++.BR --export +.IR export +.br +Outputs information in key/value format to be imported by other programs. +. +.HP - .BR \-\-udevcookie + .BR --udevcookie .IR cookie .br -Index: LVM2.2.02.139/tools/dmsetup.c +Index: LVM2.2.02.169/tools/dmsetup.c =================================================================== ---- LVM2.2.02.139.orig/tools/dmsetup.c -+++ LVM2.2.02.139/tools/dmsetup.c -@@ -2177,6 +2177,129 @@ out: +--- LVM2.2.02.169.orig/tools/dmsetup.c ++++ LVM2.2.02.169/tools/dmsetup.c +@@ -2231,6 +2231,129 @@ out: return r; } @@ -166,11 +179,16 @@ /* Show target names and their version numbers */ static int _targets(CMD_ARGS) { -@@ -5138,6 +5261,7 @@ static struct command _dmsetup_commands[ - {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, - {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, - {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +@@ -5904,7 +6027,11 @@ static struct command _dmsetup_commands[ + {"deps", "[-o <options>] [<device>...]", 0, -1, 1, 0, _deps}, + {"stats", "<command> [<options>] [<device>...]", 1, -1, 1, 1, _stats}, + {"status", "[<device>...] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +- {"table", "[<device>...] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, ++ {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, ++ {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, + {"export", "[<device>]", 0, -1, 1, 0, _export}, - {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, {"wait", "<device> [<event_nr>] [--noflush]", 0, 2, 0, 0, _wait}, - {"mknodes", "[<device>]", 0, -1, 1, 0, _mknodes}, + {"mknodes", "[<device>...]", 0, -1, 1, 0, _mknodes}, + {"mangle", "[<device>...]", 0, -1, 1, 0, _mangle}, Index: device-mapper.changes =================================================================== --- device-mapper.changes (revision 176) +++ device-mapper.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: device-mapper.spec =================================================================== --- device-mapper.spec (revision 176) +++ device-mapper.spec (revision 5) @@ -19,8 +19,8 @@ %define libname libdevmapper1_03 %define libname_event libdevmapper-event1_03 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: device-mapper Index: libdm-iface-not-output-error-message-inside-retry-loop.patch =================================================================== --- libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 176) +++ libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 5) @@ -1,22 +1,25 @@ -From a70f17fd1dc9a8cccefb946c3501d5cb6f2766bb Mon Sep 17 00:00:00 2001 -From: Liuhua Wang <lwang@suse.com> -Date: Mon, 23 Nov 2015 13:49:39 +0800 +From 3c4d9dd3571e89545d97c8421fd4cbdbaa6895b8 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 11:09:26 +0800 Subject: [PATCH] libdm-iface: not output error message inside retry loops -This is a workaround to avoid noisy error message being output inside retry loops -in case of remove failure because device busy. But as to the replies from upstream +This is a workaround to avoid noisy error message being output inside +retry loops +in case of remove failure because device busy. But as to the replies +from upstream there may be some issues in udev operations. References: bsc#940298 boo#957059 Signed-off-by: lwang@suse.com +Patch-refreshed-by: Eric Ren <zren@suse.com> --- - libdm/ioctl/libdm-iface.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + libdm/ioctl/libdm-iface.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) -Index: LVM2.2.02.141/libdm/ioctl/libdm-iface.c -=================================================================== ---- LVM2.2.02.141.orig/libdm/ioctl/libdm-iface.c -+++ LVM2.2.02.141/libdm/ioctl/libdm-iface.c +diff --git a/libdm/ioctl/libdm-iface.c b/libdm/ioctl/libdm-iface.c +index cb3e8dc..c1c0771 100644 +--- a/libdm/ioctl/libdm-iface.c ++++ b/libdm/ioctl/libdm-iface.c @@ -62,6 +62,7 @@ */ #define MAPPER_CTRL_MINOR 236 @@ -25,15 +28,17 @@ /* dm major version no for running kernel */ static unsigned _dm_version = DM_VERSION_MAJOR; -@@ -1862,7 +1863,7 @@ static struct dm_ioctl *_do_dm_ioctl(str +@@ -1862,8 +1863,8 @@ static struct dm_ioctl *_do_dm_ioctl(struct dm_task *dmt, unsigned command, dmt->major > 0 && dmt->minor == 0 ? "0" : "", dmt->major > 0 ? ")" : "", strerror(dmt->ioctl_errno)); - else +- log_error("device-mapper: %s ioctl on %s %s%s%.0d%s%.0d%s%s " + else if(errno != EBUSY || retry_repeat_count == DM_IOCTL_RETRIES) - log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " ++ log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " "failed: %s", _cmd_data_v4[dmt->type].name, + dmi->name, dmi->uuid, @@ -1915,7 +1916,6 @@ void dm_task_update_nodes(void) update_devs(); } @@ -42,3 +47,6 @@ #define DM_RETRY_USLEEP_DELAY 200000 int dm_task_get_errno(struct dm_task *dmt) +-- +2.10.2 + Index: lvm2-clvm.changes =================================================================== --- lvm2-clvm.changes (revision 176) +++ lvm2-clvm.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2-clvm.spec =================================================================== --- lvm2-clvm.spec (revision 176) +++ lvm2-clvm.spec (revision 5) @@ -19,8 +19,8 @@ %define dlm_version 3.99.1 %define sanlock_version 3.3.0 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2-clvm Index: lvm2.changes =================================================================== --- lvm2.changes (revision 176) +++ lvm2.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2.spec =================================================================== --- lvm2.spec (revision 176) +++ lvm2.spec (revision 5) @@ -20,8 +20,8 @@ %define applib liblvm2app2_2 %define cmdlib liblvm2cmd2_02 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2 @@ -282,7 +282,6 @@ %{_sbindir}/lvcreate %{_sbindir}/lvdisplay %{_sbindir}/lvextend -%{_sbindir}/lvmchange %{_sbindir}/lvmdiskscan %{_sbindir}/lvmsadc %{_sbindir}/lvmsar @@ -336,7 +335,6 @@ /sbin/lvcreate /sbin/lvdisplay /sbin/lvextend -/sbin/lvmchange /sbin/lvmdiskscan /sbin/lvmsadc /sbin/lvmsar @@ -391,7 +389,6 @@ %{_mandir}/man8/lvm-config.8%{ext_man} %{_mandir}/man8/lvmconfig.8%{ext_man} %{_mandir}/man8/lvm-dumpconfig.8%{ext_man} -%{_mandir}/man8/lvmchange.8%{ext_man} %{_mandir}/man8/lvmconf.8%{ext_man} %{_mandir}/man8/lvmdiskscan.8%{ext_man} %{_mandir}/man8/lvmdump.8%{ext_man} Index: make-mirror-legs-on-different-tag-pvs.patch =================================================================== --- make-mirror-legs-on-different-tag-pvs.patch (revision 176) +++ make-mirror-legs-on-different-tag-pvs.patch (revision 5) @@ -1,10 +1,10 @@ -From 49a5da732c74b8b96bc123a541d590c4fd06d7af Mon Sep 17 00:00:00 2001 -From: Guangliang Zhao <gzhao@suse.com> -Date: Mon, 12 Nov 2012 15:28:11 +0800 -Subject: [PATCH 1/2] mirror: make mirror legs on different tag pvs +From b17f2ae4334f9233a88d7a2fcae325f86691beb0 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:44:30 +0800 +Subject: [PATCH] [PATCH 1/2] mirror: make mirror legs on different tag pvs -The mirror legs could be placed on the PVs(with different -tags) from the other mirror legs with this patch. +The mirror legs could be placed on the PVs(with different tags) +from the other mirror legs with this patch. The lvcreate allocates the replica "randomly" when creating a mirrored logical volume now, so it could happen that both @@ -17,18 +17,19 @@ always be placed on pvs with differnt tags. Signed-off-by: Guangliang Zhao <gzhao@suse.com> +Fix-conflict-by: Eric Ren <zren@suse.com> --- - conf/example.conf.in | 17 +++++++++++++++++ - lib/config/config_settings.h | 3 +++ - lib/config/defaults.h | 1 + - lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ - man/lvcreate.8.in | 4 ++++ - 5 files changed, 60 insertions(+) + conf/example.conf.in | 17 +++++++++++++++++ + lib/config/config_settings.h | 5 ++++- + lib/config/defaults.h | 1 + + lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ + man/lvcreate.8_pregen | 7 +++++++ + 5 files changed, 64 insertions(+), 1 deletion(-) -Index: LVM2.2.02.165/conf/example.conf.in -=================================================================== ---- LVM2.2.02.165.orig/conf/example.conf.in -+++ LVM2.2.02.165/conf/example.conf.in +diff --git a/conf/example.conf.in b/conf/example.conf.in +index 614ce53..b33289f 100644 +--- a/conf/example.conf.in ++++ b/conf/example.conf.in @@ -372,6 +372,23 @@ allocation { # or erased unless the --wipesignatures option is used directly. wipe_signatures_when_zeroing_new_lvs = 1 @@ -53,25 +54,27 @@ # Configuration option allocation/mirror_logs_require_separate_pvs. # Mirror logs and images will always use different PVs. # The default setting changed in version 2.02.85. -Index: LVM2.2.02.165/lib/config/config_settings.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/config_settings.h -+++ LVM2.2.02.165/lib/config/config_settings.h -@@ -473,6 +473,9 @@ cfg(allocation_raid_stripe_all_devices_C +diff --git a/lib/config/config_settings.h b/lib/config/config_settings.h +index b701722..0e5a5e2 100644 +--- a/lib/config/config_settings.h ++++ b/lib/config/config_settings.h +@@ -473,7 +473,10 @@ cfg(allocation_raid_stripe_all_devices_CFG, "raid_stripe_all_devices", allocatio "when the command does not specify the number of stripes to use.\n" "This was the default behaviour until release 2.02.162.\n") +-cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, +cfg(allocation_mirror_legs_require_separate_pvs_CFG, "mirror_legs_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_MIRROR_LEGS_REQUIRE_SEPARATE_PVS, vsn(2, 2, 98), NULL, 0, NULL, + "Mirror legs will always use different PVs.\n") + - cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, ++cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, "Cache pool metadata and data will always use different PVs.\n") -Index: LVM2.2.02.165/lib/config/defaults.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/defaults.h -+++ LVM2.2.02.165/lib/config/defaults.h -@@ -158,6 +158,7 @@ + cfg(allocation_cache_pool_cachemode_CFG, "cache_pool_cachemode", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA | CFG_DEFAULT_COMMENTED, CFG_TYPE_STRING, DEFAULT_CACHE_MODE, vsn(2, 2, 113), NULL, vsn(2, 2, 128), +diff --git a/lib/config/defaults.h b/lib/config/defaults.h +index 2340636..256fab6 100644 +--- a/lib/config/defaults.h ++++ b/lib/config/defaults.h +@@ -159,6 +159,7 @@ #define DEFAULT_MAX_LV 0 #define DEFAULT_ALLOC_POLICY ALLOC_NORMAL #define DEFAULT_MIRROR_LOGS_REQUIRE_SEPARATE_PVS 0 @@ -79,11 +82,11 @@ #define DEFAULT_MAXIMISE_CLING 1 #define DEFAULT_CLUSTERED 0 -Index: LVM2.2.02.165/lib/metadata/lv_manip.c -=================================================================== ---- LVM2.2.02.165.orig/lib/metadata/lv_manip.c -+++ LVM2.2.02.165/lib/metadata/lv_manip.c -@@ -1519,6 +1519,9 @@ struct alloc_handle { +diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c +index 0dfbad4..357e46a 100644 +--- a/lib/metadata/lv_manip.c ++++ b/lib/metadata/lv_manip.c +@@ -1622,6 +1622,9 @@ struct alloc_handle { unsigned maximise_cling; unsigned mirror_logs_separate; /* Force mirror logs on separate PVs? */ @@ -93,7 +96,7 @@ /* * RAID devices require a metadata area that accompanies each -@@ -2633,6 +2636,32 @@ static int _limit_to_one_area_per_tag(st +@@ -2736,6 +2739,32 @@ static int _limit_to_one_area_per_tag(struct alloc_handle *ah, struct alloc_stat } /* @@ -126,7 +129,7 @@ * Returns 1 regardless of whether any space was found, except on error. */ static int _find_some_parallel_space(struct alloc_handle *ah, -@@ -2762,6 +2791,10 @@ static int _find_some_parallel_space(str +@@ -2865,6 +2894,10 @@ static int _find_some_parallel_space(struct alloc_handle *ah, continue; case USE_AREA: @@ -137,7 +140,7 @@ /* * Except with ALLOC_ANYWHERE, replace first area with this * one which is smaller but still big enough. -@@ -3243,6 +3276,7 @@ static struct alloc_handle *_alloc_init( +@@ -3355,6 +3388,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->parity_count = parity_count; ah->region_size = region_size; ah->alloc = alloc; @@ -145,7 +148,7 @@ /* * For the purposes of allocation, area_count and parity_count are -@@ -3254,6 +3288,7 @@ static struct alloc_handle *_alloc_init( +@@ -3366,6 +3400,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->area_multiple = _calc_area_multiple(segtype, area_count + parity_count, stripes); //FIXME: s/mirror_logs_separate/metadata_separate/ so it can be used by others? ah->mirror_logs_separate = find_config_tree_bool(cmd, allocation_mirror_logs_require_separate_pvs_CFG, NULL); @@ -153,18 +156,24 @@ if (mirrors || stripes) total_extents = new_extents; -Index: LVM2.2.02.165/man/lvcreate.8.in -=================================================================== ---- LVM2.2.02.165.orig/man/lvcreate.8.in -+++ LVM2.2.02.165/man/lvcreate.8.in -@@ -418,6 +418,10 @@ Using \fBcore\fP means the mirror is reg - from the first device each time the logical volume is activated, - like after every reboot. +diff --git a/man/lvcreate.8_pregen b/man/lvcreate.8_pregen +index 6663087..c385927 100644 +--- a/man/lvcreate.8_pregen ++++ b/man/lvcreate.8_pregen +@@ -416,6 +416,13 @@ Create a raid10 LV. + [ \fB-I\fP|\fB--stripesize\fP \fISize\fP[k|UNIT] ] + .ad b .br +Every leg of the mirrored logical volume could be placed on the pvs with +same tag, see details(mirror_legs_require_separate_pvs) in lvm.conf. + +.br - Using \fBmirrored\fP will create a persistent log that is itself mirrored. - . - .HP ++Using \fBmirrored\fP will create a persistent log that is itself mirrored. ++. ++.HP + .ad l + [ \fB-R\fP|\fB--regionsize\fP \fISize\fP[m|UNIT] ] + .ad b +-- +2.10.2 + Index: LVM2.2.02.169.tgz =================================================================== Binary file LVM2.2.02.169.tgz (revision 5) added Index: LVM2.2.02.169.tgz.asc =================================================================== --- LVM2.2.02.169.tgz.asc (added) +++ LVM2.2.02.169.tgz.asc (revision 5) @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.14 (GNU/Linux) + +iEYEABECAAYFAljafgEACgkQIoGRwVZ+LBeo5wCfVaQeSN73FPcJf86c3aqrFmZu +Rs0AoJ6l75QbY2V55rhunJvwwDllKlpF +=0Jtt +-----END PGP SIGNATURE----- Index: LVM2.2.02.168.tgz =================================================================== Binary file LVM2.2.02.168.tgz (revision 176) deleted Index: LVM2.2.02.168.tgz.asc =================================================================== --- LVM2.2.02.168.tgz.asc (revision 176) +++ LVM2.2.02.168.tgz.asc (deleted) @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.14 (GNU/Linux) - -iEUEABECAAYFAlg/XqMACgkQIoGRwVZ+LBdjQACVGeU4I+B5ETIhINJeYXy2bLNu -hQCgxEmGwG0ec2frSXhQociTYfT6vVc= -=T5md ------END PGP SIGNATURE----- OBS-URL: https://build.opensuse.org/request/show/487889 OBS-URL: https://build.opensuse.org/package/show/Base:System/lvm2?expand=0&rev=177
2017-04-18 12:55:18 +02:00
conf/example.conf.in | 17 +++++++++++++++++
lib/config/config_settings.h | 5 ++++-
lib/config/defaults.h | 1 +
lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++
man/lvcreate.8_pregen | 7 +++++++
5 files changed, 64 insertions(+), 1 deletion(-)
Accepting request 487889 from home:jnelson-suse:branches:Base:System - Update device mapper version to 1.02.138, see WHATS_NEW_DM for detailed changelogs * Drop obsolete lvmchange files accordingly - Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch - Refresh make-mirror-legs-on-different-tag-pvs.patch - device-mapper-dmsetup-export.patch - LVM version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM files for detailed changelogs old: Base:System/lvm2 new: home:jnelson-suse:branches:Base:System/lvm2 rev None Index: device-mapper-dmsetup-export.patch =================================================================== --- device-mapper-dmsetup-export.patch (revision 176) +++ device-mapper-dmsetup-export.patch (revision 5) @@ -1,7 +1,20 @@ -Index: LVM2.2.02.139/man/dmsetup.8.in +From b148cb1c1e801455cb774f51eecd57f7e4f98c39 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:58:56 +0800 +Subject: [PATCH] DM: add dmsetup export + +bsc#479104 + +Patch-refreshed-by: Eric Ren <zren@suse.com> +--- + man/dmsetup.8_main | 16 +++- + tools/dmsetup.c | 252 ++++++++++++++++++++++++++++++++++++++++++++++++++++- + 2 files changed, 266 insertions(+), 2 deletions(-) + +Index: LVM2.2.02.169/man/dmsetup.8_main =================================================================== ---- LVM2.2.02.139.orig/man/dmsetup.8.in -+++ LVM2.2.02.139/man/dmsetup.8.in +--- LVM2.2.02.169.orig/man/dmsetup.8_main ++++ LVM2.2.02.169/man/dmsetup.8_main @@ -97,7 +97,15 @@ dmsetup \(em low level logical volume ma .. .CMD_LOAD @@ -23,20 +36,20 @@ See below for more information on the table format. . .HP -+.BR \-\-export ++.BR --export +.IR export +.br +Outputs information in key/value format to be imported by other programs. +. +.HP - .BR \-\-udevcookie + .BR --udevcookie .IR cookie .br -Index: LVM2.2.02.139/tools/dmsetup.c +Index: LVM2.2.02.169/tools/dmsetup.c =================================================================== ---- LVM2.2.02.139.orig/tools/dmsetup.c -+++ LVM2.2.02.139/tools/dmsetup.c -@@ -2177,6 +2177,129 @@ out: +--- LVM2.2.02.169.orig/tools/dmsetup.c ++++ LVM2.2.02.169/tools/dmsetup.c +@@ -2231,6 +2231,129 @@ out: return r; } @@ -166,11 +179,16 @@ /* Show target names and their version numbers */ static int _targets(CMD_ARGS) { -@@ -5138,6 +5261,7 @@ static struct command _dmsetup_commands[ - {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, - {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, - {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +@@ -5904,7 +6027,11 @@ static struct command _dmsetup_commands[ + {"deps", "[-o <options>] [<device>...]", 0, -1, 1, 0, _deps}, + {"stats", "<command> [<options>] [<device>...]", 1, -1, 1, 1, _stats}, + {"status", "[<device>...] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +- {"table", "[<device>...] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, ++ {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, ++ {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, + {"export", "[<device>]", 0, -1, 1, 0, _export}, - {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, {"wait", "<device> [<event_nr>] [--noflush]", 0, 2, 0, 0, _wait}, - {"mknodes", "[<device>]", 0, -1, 1, 0, _mknodes}, + {"mknodes", "[<device>...]", 0, -1, 1, 0, _mknodes}, + {"mangle", "[<device>...]", 0, -1, 1, 0, _mangle}, Index: device-mapper.changes =================================================================== --- device-mapper.changes (revision 176) +++ device-mapper.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: device-mapper.spec =================================================================== --- device-mapper.spec (revision 176) +++ device-mapper.spec (revision 5) @@ -19,8 +19,8 @@ %define libname libdevmapper1_03 %define libname_event libdevmapper-event1_03 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: device-mapper Index: libdm-iface-not-output-error-message-inside-retry-loop.patch =================================================================== --- libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 176) +++ libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 5) @@ -1,22 +1,25 @@ -From a70f17fd1dc9a8cccefb946c3501d5cb6f2766bb Mon Sep 17 00:00:00 2001 -From: Liuhua Wang <lwang@suse.com> -Date: Mon, 23 Nov 2015 13:49:39 +0800 +From 3c4d9dd3571e89545d97c8421fd4cbdbaa6895b8 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 11:09:26 +0800 Subject: [PATCH] libdm-iface: not output error message inside retry loops -This is a workaround to avoid noisy error message being output inside retry loops -in case of remove failure because device busy. But as to the replies from upstream +This is a workaround to avoid noisy error message being output inside +retry loops +in case of remove failure because device busy. But as to the replies +from upstream there may be some issues in udev operations. References: bsc#940298 boo#957059 Signed-off-by: lwang@suse.com +Patch-refreshed-by: Eric Ren <zren@suse.com> --- - libdm/ioctl/libdm-iface.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + libdm/ioctl/libdm-iface.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) -Index: LVM2.2.02.141/libdm/ioctl/libdm-iface.c -=================================================================== ---- LVM2.2.02.141.orig/libdm/ioctl/libdm-iface.c -+++ LVM2.2.02.141/libdm/ioctl/libdm-iface.c +diff --git a/libdm/ioctl/libdm-iface.c b/libdm/ioctl/libdm-iface.c +index cb3e8dc..c1c0771 100644 +--- a/libdm/ioctl/libdm-iface.c ++++ b/libdm/ioctl/libdm-iface.c @@ -62,6 +62,7 @@ */ #define MAPPER_CTRL_MINOR 236 @@ -25,15 +28,17 @@ /* dm major version no for running kernel */ static unsigned _dm_version = DM_VERSION_MAJOR; -@@ -1862,7 +1863,7 @@ static struct dm_ioctl *_do_dm_ioctl(str +@@ -1862,8 +1863,8 @@ static struct dm_ioctl *_do_dm_ioctl(struct dm_task *dmt, unsigned command, dmt->major > 0 && dmt->minor == 0 ? "0" : "", dmt->major > 0 ? ")" : "", strerror(dmt->ioctl_errno)); - else +- log_error("device-mapper: %s ioctl on %s %s%s%.0d%s%.0d%s%s " + else if(errno != EBUSY || retry_repeat_count == DM_IOCTL_RETRIES) - log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " ++ log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " "failed: %s", _cmd_data_v4[dmt->type].name, + dmi->name, dmi->uuid, @@ -1915,7 +1916,6 @@ void dm_task_update_nodes(void) update_devs(); } @@ -42,3 +47,6 @@ #define DM_RETRY_USLEEP_DELAY 200000 int dm_task_get_errno(struct dm_task *dmt) +-- +2.10.2 + Index: lvm2-clvm.changes =================================================================== --- lvm2-clvm.changes (revision 176) +++ lvm2-clvm.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2-clvm.spec =================================================================== --- lvm2-clvm.spec (revision 176) +++ lvm2-clvm.spec (revision 5) @@ -19,8 +19,8 @@ %define dlm_version 3.99.1 %define sanlock_version 3.3.0 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2-clvm Index: lvm2.changes =================================================================== --- lvm2.changes (revision 176) +++ lvm2.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2.spec =================================================================== --- lvm2.spec (revision 176) +++ lvm2.spec (revision 5) @@ -20,8 +20,8 @@ %define applib liblvm2app2_2 %define cmdlib liblvm2cmd2_02 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2 @@ -282,7 +282,6 @@ %{_sbindir}/lvcreate %{_sbindir}/lvdisplay %{_sbindir}/lvextend -%{_sbindir}/lvmchange %{_sbindir}/lvmdiskscan %{_sbindir}/lvmsadc %{_sbindir}/lvmsar @@ -336,7 +335,6 @@ /sbin/lvcreate /sbin/lvdisplay /sbin/lvextend -/sbin/lvmchange /sbin/lvmdiskscan /sbin/lvmsadc /sbin/lvmsar @@ -391,7 +389,6 @@ %{_mandir}/man8/lvm-config.8%{ext_man} %{_mandir}/man8/lvmconfig.8%{ext_man} %{_mandir}/man8/lvm-dumpconfig.8%{ext_man} -%{_mandir}/man8/lvmchange.8%{ext_man} %{_mandir}/man8/lvmconf.8%{ext_man} %{_mandir}/man8/lvmdiskscan.8%{ext_man} %{_mandir}/man8/lvmdump.8%{ext_man} Index: make-mirror-legs-on-different-tag-pvs.patch =================================================================== --- make-mirror-legs-on-different-tag-pvs.patch (revision 176) +++ make-mirror-legs-on-different-tag-pvs.patch (revision 5) @@ -1,10 +1,10 @@ -From 49a5da732c74b8b96bc123a541d590c4fd06d7af Mon Sep 17 00:00:00 2001 -From: Guangliang Zhao <gzhao@suse.com> -Date: Mon, 12 Nov 2012 15:28:11 +0800 -Subject: [PATCH 1/2] mirror: make mirror legs on different tag pvs +From b17f2ae4334f9233a88d7a2fcae325f86691beb0 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:44:30 +0800 +Subject: [PATCH] [PATCH 1/2] mirror: make mirror legs on different tag pvs -The mirror legs could be placed on the PVs(with different -tags) from the other mirror legs with this patch. +The mirror legs could be placed on the PVs(with different tags) +from the other mirror legs with this patch. The lvcreate allocates the replica "randomly" when creating a mirrored logical volume now, so it could happen that both @@ -17,18 +17,19 @@ always be placed on pvs with differnt tags. Signed-off-by: Guangliang Zhao <gzhao@suse.com> +Fix-conflict-by: Eric Ren <zren@suse.com> --- - conf/example.conf.in | 17 +++++++++++++++++ - lib/config/config_settings.h | 3 +++ - lib/config/defaults.h | 1 + - lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ - man/lvcreate.8.in | 4 ++++ - 5 files changed, 60 insertions(+) + conf/example.conf.in | 17 +++++++++++++++++ + lib/config/config_settings.h | 5 ++++- + lib/config/defaults.h | 1 + + lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ + man/lvcreate.8_pregen | 7 +++++++ + 5 files changed, 64 insertions(+), 1 deletion(-) -Index: LVM2.2.02.165/conf/example.conf.in -=================================================================== ---- LVM2.2.02.165.orig/conf/example.conf.in -+++ LVM2.2.02.165/conf/example.conf.in +diff --git a/conf/example.conf.in b/conf/example.conf.in +index 614ce53..b33289f 100644 +--- a/conf/example.conf.in ++++ b/conf/example.conf.in @@ -372,6 +372,23 @@ allocation { # or erased unless the --wipesignatures option is used directly. wipe_signatures_when_zeroing_new_lvs = 1 @@ -53,25 +54,27 @@ # Configuration option allocation/mirror_logs_require_separate_pvs. # Mirror logs and images will always use different PVs. # The default setting changed in version 2.02.85. -Index: LVM2.2.02.165/lib/config/config_settings.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/config_settings.h -+++ LVM2.2.02.165/lib/config/config_settings.h -@@ -473,6 +473,9 @@ cfg(allocation_raid_stripe_all_devices_C +diff --git a/lib/config/config_settings.h b/lib/config/config_settings.h +index b701722..0e5a5e2 100644 +--- a/lib/config/config_settings.h ++++ b/lib/config/config_settings.h +@@ -473,7 +473,10 @@ cfg(allocation_raid_stripe_all_devices_CFG, "raid_stripe_all_devices", allocatio "when the command does not specify the number of stripes to use.\n" "This was the default behaviour until release 2.02.162.\n") +-cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, +cfg(allocation_mirror_legs_require_separate_pvs_CFG, "mirror_legs_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_MIRROR_LEGS_REQUIRE_SEPARATE_PVS, vsn(2, 2, 98), NULL, 0, NULL, + "Mirror legs will always use different PVs.\n") + - cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, ++cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, "Cache pool metadata and data will always use different PVs.\n") -Index: LVM2.2.02.165/lib/config/defaults.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/defaults.h -+++ LVM2.2.02.165/lib/config/defaults.h -@@ -158,6 +158,7 @@ + cfg(allocation_cache_pool_cachemode_CFG, "cache_pool_cachemode", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA | CFG_DEFAULT_COMMENTED, CFG_TYPE_STRING, DEFAULT_CACHE_MODE, vsn(2, 2, 113), NULL, vsn(2, 2, 128), +diff --git a/lib/config/defaults.h b/lib/config/defaults.h +index 2340636..256fab6 100644 +--- a/lib/config/defaults.h ++++ b/lib/config/defaults.h +@@ -159,6 +159,7 @@ #define DEFAULT_MAX_LV 0 #define DEFAULT_ALLOC_POLICY ALLOC_NORMAL #define DEFAULT_MIRROR_LOGS_REQUIRE_SEPARATE_PVS 0 @@ -79,11 +82,11 @@ #define DEFAULT_MAXIMISE_CLING 1 #define DEFAULT_CLUSTERED 0 -Index: LVM2.2.02.165/lib/metadata/lv_manip.c -=================================================================== ---- LVM2.2.02.165.orig/lib/metadata/lv_manip.c -+++ LVM2.2.02.165/lib/metadata/lv_manip.c -@@ -1519,6 +1519,9 @@ struct alloc_handle { +diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c +index 0dfbad4..357e46a 100644 +--- a/lib/metadata/lv_manip.c ++++ b/lib/metadata/lv_manip.c +@@ -1622,6 +1622,9 @@ struct alloc_handle { unsigned maximise_cling; unsigned mirror_logs_separate; /* Force mirror logs on separate PVs? */ @@ -93,7 +96,7 @@ /* * RAID devices require a metadata area that accompanies each -@@ -2633,6 +2636,32 @@ static int _limit_to_one_area_per_tag(st +@@ -2736,6 +2739,32 @@ static int _limit_to_one_area_per_tag(struct alloc_handle *ah, struct alloc_stat } /* @@ -126,7 +129,7 @@ * Returns 1 regardless of whether any space was found, except on error. */ static int _find_some_parallel_space(struct alloc_handle *ah, -@@ -2762,6 +2791,10 @@ static int _find_some_parallel_space(str +@@ -2865,6 +2894,10 @@ static int _find_some_parallel_space(struct alloc_handle *ah, continue; case USE_AREA: @@ -137,7 +140,7 @@ /* * Except with ALLOC_ANYWHERE, replace first area with this * one which is smaller but still big enough. -@@ -3243,6 +3276,7 @@ static struct alloc_handle *_alloc_init( +@@ -3355,6 +3388,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->parity_count = parity_count; ah->region_size = region_size; ah->alloc = alloc; @@ -145,7 +148,7 @@ /* * For the purposes of allocation, area_count and parity_count are -@@ -3254,6 +3288,7 @@ static struct alloc_handle *_alloc_init( +@@ -3366,6 +3400,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->area_multiple = _calc_area_multiple(segtype, area_count + parity_count, stripes); //FIXME: s/mirror_logs_separate/metadata_separate/ so it can be used by others? ah->mirror_logs_separate = find_config_tree_bool(cmd, allocation_mirror_logs_require_separate_pvs_CFG, NULL); @@ -153,18 +156,24 @@ if (mirrors || stripes) total_extents = new_extents; -Index: LVM2.2.02.165/man/lvcreate.8.in -=================================================================== ---- LVM2.2.02.165.orig/man/lvcreate.8.in -+++ LVM2.2.02.165/man/lvcreate.8.in -@@ -418,6 +418,10 @@ Using \fBcore\fP means the mirror is reg - from the first device each time the logical volume is activated, - like after every reboot. +diff --git a/man/lvcreate.8_pregen b/man/lvcreate.8_pregen +index 6663087..c385927 100644 +--- a/man/lvcreate.8_pregen ++++ b/man/lvcreate.8_pregen +@@ -416,6 +416,13 @@ Create a raid10 LV. + [ \fB-I\fP|\fB--stripesize\fP \fISize\fP[k|UNIT] ] + .ad b .br +Every leg of the mirrored logical volume could be placed on the pvs with +same tag, see details(mirror_legs_require_separate_pvs) in lvm.conf. + +.br - Using \fBmirrored\fP will create a persistent log that is itself mirrored. - . - .HP ++Using \fBmirrored\fP will create a persistent log that is itself mirrored. ++. ++.HP + .ad l + [ \fB-R\fP|\fB--regionsize\fP \fISize\fP[m|UNIT] ] + .ad b +-- +2.10.2 + Index: LVM2.2.02.169.tgz =================================================================== Binary file LVM2.2.02.169.tgz (revision 5) added Index: LVM2.2.02.169.tgz.asc =================================================================== --- LVM2.2.02.169.tgz.asc (added) +++ LVM2.2.02.169.tgz.asc (revision 5) @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.14 (GNU/Linux) + +iEYEABECAAYFAljafgEACgkQIoGRwVZ+LBeo5wCfVaQeSN73FPcJf86c3aqrFmZu +Rs0AoJ6l75QbY2V55rhunJvwwDllKlpF +=0Jtt +-----END PGP SIGNATURE----- Index: LVM2.2.02.168.tgz =================================================================== Binary file LVM2.2.02.168.tgz (revision 176) deleted Index: LVM2.2.02.168.tgz.asc =================================================================== --- LVM2.2.02.168.tgz.asc (revision 176) +++ LVM2.2.02.168.tgz.asc (deleted) @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.14 (GNU/Linux) - -iEUEABECAAYFAlg/XqMACgkQIoGRwVZ+LBdjQACVGeU4I+B5ETIhINJeYXy2bLNu -hQCgxEmGwG0ec2frSXhQociTYfT6vVc= -=T5md ------END PGP SIGNATURE----- OBS-URL: https://build.opensuse.org/request/show/487889 OBS-URL: https://build.opensuse.org/package/show/Base:System/lvm2?expand=0&rev=177
2017-04-18 12:55:18 +02:00
diff --git a/conf/example.conf.in b/conf/example.conf.in
index b5b0e6a..947a3cf 100644
Accepting request 487889 from home:jnelson-suse:branches:Base:System - Update device mapper version to 1.02.138, see WHATS_NEW_DM for detailed changelogs * Drop obsolete lvmchange files accordingly - Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch - Refresh make-mirror-legs-on-different-tag-pvs.patch - device-mapper-dmsetup-export.patch - LVM version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM files for detailed changelogs old: Base:System/lvm2 new: home:jnelson-suse:branches:Base:System/lvm2 rev None Index: device-mapper-dmsetup-export.patch =================================================================== --- device-mapper-dmsetup-export.patch (revision 176) +++ device-mapper-dmsetup-export.patch (revision 5) @@ -1,7 +1,20 @@ -Index: LVM2.2.02.139/man/dmsetup.8.in +From b148cb1c1e801455cb774f51eecd57f7e4f98c39 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:58:56 +0800 +Subject: [PATCH] DM: add dmsetup export + +bsc#479104 + +Patch-refreshed-by: Eric Ren <zren@suse.com> +--- + man/dmsetup.8_main | 16 +++- + tools/dmsetup.c | 252 ++++++++++++++++++++++++++++++++++++++++++++++++++++- + 2 files changed, 266 insertions(+), 2 deletions(-) + +Index: LVM2.2.02.169/man/dmsetup.8_main =================================================================== ---- LVM2.2.02.139.orig/man/dmsetup.8.in -+++ LVM2.2.02.139/man/dmsetup.8.in +--- LVM2.2.02.169.orig/man/dmsetup.8_main ++++ LVM2.2.02.169/man/dmsetup.8_main @@ -97,7 +97,15 @@ dmsetup \(em low level logical volume ma .. .CMD_LOAD @@ -23,20 +36,20 @@ See below for more information on the table format. . .HP -+.BR \-\-export ++.BR --export +.IR export +.br +Outputs information in key/value format to be imported by other programs. +. +.HP - .BR \-\-udevcookie + .BR --udevcookie .IR cookie .br -Index: LVM2.2.02.139/tools/dmsetup.c +Index: LVM2.2.02.169/tools/dmsetup.c =================================================================== ---- LVM2.2.02.139.orig/tools/dmsetup.c -+++ LVM2.2.02.139/tools/dmsetup.c -@@ -2177,6 +2177,129 @@ out: +--- LVM2.2.02.169.orig/tools/dmsetup.c ++++ LVM2.2.02.169/tools/dmsetup.c +@@ -2231,6 +2231,129 @@ out: return r; } @@ -166,11 +179,16 @@ /* Show target names and their version numbers */ static int _targets(CMD_ARGS) { -@@ -5138,6 +5261,7 @@ static struct command _dmsetup_commands[ - {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, - {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, - {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +@@ -5904,7 +6027,11 @@ static struct command _dmsetup_commands[ + {"deps", "[-o <options>] [<device>...]", 0, -1, 1, 0, _deps}, + {"stats", "<command> [<options>] [<device>...]", 1, -1, 1, 1, _stats}, + {"status", "[<device>...] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +- {"table", "[<device>...] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, ++ {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, ++ {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, + {"export", "[<device>]", 0, -1, 1, 0, _export}, - {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, {"wait", "<device> [<event_nr>] [--noflush]", 0, 2, 0, 0, _wait}, - {"mknodes", "[<device>]", 0, -1, 1, 0, _mknodes}, + {"mknodes", "[<device>...]", 0, -1, 1, 0, _mknodes}, + {"mangle", "[<device>...]", 0, -1, 1, 0, _mangle}, Index: device-mapper.changes =================================================================== --- device-mapper.changes (revision 176) +++ device-mapper.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: device-mapper.spec =================================================================== --- device-mapper.spec (revision 176) +++ device-mapper.spec (revision 5) @@ -19,8 +19,8 @@ %define libname libdevmapper1_03 %define libname_event libdevmapper-event1_03 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: device-mapper Index: libdm-iface-not-output-error-message-inside-retry-loop.patch =================================================================== --- libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 176) +++ libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 5) @@ -1,22 +1,25 @@ -From a70f17fd1dc9a8cccefb946c3501d5cb6f2766bb Mon Sep 17 00:00:00 2001 -From: Liuhua Wang <lwang@suse.com> -Date: Mon, 23 Nov 2015 13:49:39 +0800 +From 3c4d9dd3571e89545d97c8421fd4cbdbaa6895b8 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 11:09:26 +0800 Subject: [PATCH] libdm-iface: not output error message inside retry loops -This is a workaround to avoid noisy error message being output inside retry loops -in case of remove failure because device busy. But as to the replies from upstream +This is a workaround to avoid noisy error message being output inside +retry loops +in case of remove failure because device busy. But as to the replies +from upstream there may be some issues in udev operations. References: bsc#940298 boo#957059 Signed-off-by: lwang@suse.com +Patch-refreshed-by: Eric Ren <zren@suse.com> --- - libdm/ioctl/libdm-iface.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + libdm/ioctl/libdm-iface.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) -Index: LVM2.2.02.141/libdm/ioctl/libdm-iface.c -=================================================================== ---- LVM2.2.02.141.orig/libdm/ioctl/libdm-iface.c -+++ LVM2.2.02.141/libdm/ioctl/libdm-iface.c +diff --git a/libdm/ioctl/libdm-iface.c b/libdm/ioctl/libdm-iface.c +index cb3e8dc..c1c0771 100644 +--- a/libdm/ioctl/libdm-iface.c ++++ b/libdm/ioctl/libdm-iface.c @@ -62,6 +62,7 @@ */ #define MAPPER_CTRL_MINOR 236 @@ -25,15 +28,17 @@ /* dm major version no for running kernel */ static unsigned _dm_version = DM_VERSION_MAJOR; -@@ -1862,7 +1863,7 @@ static struct dm_ioctl *_do_dm_ioctl(str +@@ -1862,8 +1863,8 @@ static struct dm_ioctl *_do_dm_ioctl(struct dm_task *dmt, unsigned command, dmt->major > 0 && dmt->minor == 0 ? "0" : "", dmt->major > 0 ? ")" : "", strerror(dmt->ioctl_errno)); - else +- log_error("device-mapper: %s ioctl on %s %s%s%.0d%s%.0d%s%s " + else if(errno != EBUSY || retry_repeat_count == DM_IOCTL_RETRIES) - log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " ++ log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " "failed: %s", _cmd_data_v4[dmt->type].name, + dmi->name, dmi->uuid, @@ -1915,7 +1916,6 @@ void dm_task_update_nodes(void) update_devs(); } @@ -42,3 +47,6 @@ #define DM_RETRY_USLEEP_DELAY 200000 int dm_task_get_errno(struct dm_task *dmt) +-- +2.10.2 + Index: lvm2-clvm.changes =================================================================== --- lvm2-clvm.changes (revision 176) +++ lvm2-clvm.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2-clvm.spec =================================================================== --- lvm2-clvm.spec (revision 176) +++ lvm2-clvm.spec (revision 5) @@ -19,8 +19,8 @@ %define dlm_version 3.99.1 %define sanlock_version 3.3.0 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2-clvm Index: lvm2.changes =================================================================== --- lvm2.changes (revision 176) +++ lvm2.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2.spec =================================================================== --- lvm2.spec (revision 176) +++ lvm2.spec (revision 5) @@ -20,8 +20,8 @@ %define applib liblvm2app2_2 %define cmdlib liblvm2cmd2_02 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2 @@ -282,7 +282,6 @@ %{_sbindir}/lvcreate %{_sbindir}/lvdisplay %{_sbindir}/lvextend -%{_sbindir}/lvmchange %{_sbindir}/lvmdiskscan %{_sbindir}/lvmsadc %{_sbindir}/lvmsar @@ -336,7 +335,6 @@ /sbin/lvcreate /sbin/lvdisplay /sbin/lvextend -/sbin/lvmchange /sbin/lvmdiskscan /sbin/lvmsadc /sbin/lvmsar @@ -391,7 +389,6 @@ %{_mandir}/man8/lvm-config.8%{ext_man} %{_mandir}/man8/lvmconfig.8%{ext_man} %{_mandir}/man8/lvm-dumpconfig.8%{ext_man} -%{_mandir}/man8/lvmchange.8%{ext_man} %{_mandir}/man8/lvmconf.8%{ext_man} %{_mandir}/man8/lvmdiskscan.8%{ext_man} %{_mandir}/man8/lvmdump.8%{ext_man} Index: make-mirror-legs-on-different-tag-pvs.patch =================================================================== --- make-mirror-legs-on-different-tag-pvs.patch (revision 176) +++ make-mirror-legs-on-different-tag-pvs.patch (revision 5) @@ -1,10 +1,10 @@ -From 49a5da732c74b8b96bc123a541d590c4fd06d7af Mon Sep 17 00:00:00 2001 -From: Guangliang Zhao <gzhao@suse.com> -Date: Mon, 12 Nov 2012 15:28:11 +0800 -Subject: [PATCH 1/2] mirror: make mirror legs on different tag pvs +From b17f2ae4334f9233a88d7a2fcae325f86691beb0 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:44:30 +0800 +Subject: [PATCH] [PATCH 1/2] mirror: make mirror legs on different tag pvs -The mirror legs could be placed on the PVs(with different -tags) from the other mirror legs with this patch. +The mirror legs could be placed on the PVs(with different tags) +from the other mirror legs with this patch. The lvcreate allocates the replica "randomly" when creating a mirrored logical volume now, so it could happen that both @@ -17,18 +17,19 @@ always be placed on pvs with differnt tags. Signed-off-by: Guangliang Zhao <gzhao@suse.com> +Fix-conflict-by: Eric Ren <zren@suse.com> --- - conf/example.conf.in | 17 +++++++++++++++++ - lib/config/config_settings.h | 3 +++ - lib/config/defaults.h | 1 + - lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ - man/lvcreate.8.in | 4 ++++ - 5 files changed, 60 insertions(+) + conf/example.conf.in | 17 +++++++++++++++++ + lib/config/config_settings.h | 5 ++++- + lib/config/defaults.h | 1 + + lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ + man/lvcreate.8_pregen | 7 +++++++ + 5 files changed, 64 insertions(+), 1 deletion(-) -Index: LVM2.2.02.165/conf/example.conf.in -=================================================================== ---- LVM2.2.02.165.orig/conf/example.conf.in -+++ LVM2.2.02.165/conf/example.conf.in +diff --git a/conf/example.conf.in b/conf/example.conf.in +index 614ce53..b33289f 100644 +--- a/conf/example.conf.in ++++ b/conf/example.conf.in @@ -372,6 +372,23 @@ allocation { # or erased unless the --wipesignatures option is used directly. wipe_signatures_when_zeroing_new_lvs = 1 @@ -53,25 +54,27 @@ # Configuration option allocation/mirror_logs_require_separate_pvs. # Mirror logs and images will always use different PVs. # The default setting changed in version 2.02.85. -Index: LVM2.2.02.165/lib/config/config_settings.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/config_settings.h -+++ LVM2.2.02.165/lib/config/config_settings.h -@@ -473,6 +473,9 @@ cfg(allocation_raid_stripe_all_devices_C +diff --git a/lib/config/config_settings.h b/lib/config/config_settings.h +index b701722..0e5a5e2 100644 +--- a/lib/config/config_settings.h ++++ b/lib/config/config_settings.h +@@ -473,7 +473,10 @@ cfg(allocation_raid_stripe_all_devices_CFG, "raid_stripe_all_devices", allocatio "when the command does not specify the number of stripes to use.\n" "This was the default behaviour until release 2.02.162.\n") +-cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, +cfg(allocation_mirror_legs_require_separate_pvs_CFG, "mirror_legs_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_MIRROR_LEGS_REQUIRE_SEPARATE_PVS, vsn(2, 2, 98), NULL, 0, NULL, + "Mirror legs will always use different PVs.\n") + - cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, ++cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, "Cache pool metadata and data will always use different PVs.\n") -Index: LVM2.2.02.165/lib/config/defaults.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/defaults.h -+++ LVM2.2.02.165/lib/config/defaults.h -@@ -158,6 +158,7 @@ + cfg(allocation_cache_pool_cachemode_CFG, "cache_pool_cachemode", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA | CFG_DEFAULT_COMMENTED, CFG_TYPE_STRING, DEFAULT_CACHE_MODE, vsn(2, 2, 113), NULL, vsn(2, 2, 128), +diff --git a/lib/config/defaults.h b/lib/config/defaults.h +index 2340636..256fab6 100644 +--- a/lib/config/defaults.h ++++ b/lib/config/defaults.h +@@ -159,6 +159,7 @@ #define DEFAULT_MAX_LV 0 #define DEFAULT_ALLOC_POLICY ALLOC_NORMAL #define DEFAULT_MIRROR_LOGS_REQUIRE_SEPARATE_PVS 0 @@ -79,11 +82,11 @@ #define DEFAULT_MAXIMISE_CLING 1 #define DEFAULT_CLUSTERED 0 -Index: LVM2.2.02.165/lib/metadata/lv_manip.c -=================================================================== ---- LVM2.2.02.165.orig/lib/metadata/lv_manip.c -+++ LVM2.2.02.165/lib/metadata/lv_manip.c -@@ -1519,6 +1519,9 @@ struct alloc_handle { +diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c +index 0dfbad4..357e46a 100644 +--- a/lib/metadata/lv_manip.c ++++ b/lib/metadata/lv_manip.c +@@ -1622,6 +1622,9 @@ struct alloc_handle { unsigned maximise_cling; unsigned mirror_logs_separate; /* Force mirror logs on separate PVs? */ @@ -93,7 +96,7 @@ /* * RAID devices require a metadata area that accompanies each -@@ -2633,6 +2636,32 @@ static int _limit_to_one_area_per_tag(st +@@ -2736,6 +2739,32 @@ static int _limit_to_one_area_per_tag(struct alloc_handle *ah, struct alloc_stat } /* @@ -126,7 +129,7 @@ * Returns 1 regardless of whether any space was found, except on error. */ static int _find_some_parallel_space(struct alloc_handle *ah, -@@ -2762,6 +2791,10 @@ static int _find_some_parallel_space(str +@@ -2865,6 +2894,10 @@ static int _find_some_parallel_space(struct alloc_handle *ah, continue; case USE_AREA: @@ -137,7 +140,7 @@ /* * Except with ALLOC_ANYWHERE, replace first area with this * one which is smaller but still big enough. -@@ -3243,6 +3276,7 @@ static struct alloc_handle *_alloc_init( +@@ -3355,6 +3388,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->parity_count = parity_count; ah->region_size = region_size; ah->alloc = alloc; @@ -145,7 +148,7 @@ /* * For the purposes of allocation, area_count and parity_count are -@@ -3254,6 +3288,7 @@ static struct alloc_handle *_alloc_init( +@@ -3366,6 +3400,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->area_multiple = _calc_area_multiple(segtype, area_count + parity_count, stripes); //FIXME: s/mirror_logs_separate/metadata_separate/ so it can be used by others? ah->mirror_logs_separate = find_config_tree_bool(cmd, allocation_mirror_logs_require_separate_pvs_CFG, NULL); @@ -153,18 +156,24 @@ if (mirrors || stripes) total_extents = new_extents; -Index: LVM2.2.02.165/man/lvcreate.8.in -=================================================================== ---- LVM2.2.02.165.orig/man/lvcreate.8.in -+++ LVM2.2.02.165/man/lvcreate.8.in -@@ -418,6 +418,10 @@ Using \fBcore\fP means the mirror is reg - from the first device each time the logical volume is activated, - like after every reboot. +diff --git a/man/lvcreate.8_pregen b/man/lvcreate.8_pregen +index 6663087..c385927 100644 +--- a/man/lvcreate.8_pregen ++++ b/man/lvcreate.8_pregen +@@ -416,6 +416,13 @@ Create a raid10 LV. + [ \fB-I\fP|\fB--stripesize\fP \fISize\fP[k|UNIT] ] + .ad b .br +Every leg of the mirrored logical volume could be placed on the pvs with +same tag, see details(mirror_legs_require_separate_pvs) in lvm.conf. + +.br - Using \fBmirrored\fP will create a persistent log that is itself mirrored. - . - .HP ++Using \fBmirrored\fP will create a persistent log that is itself mirrored. ++. ++.HP + .ad l + [ \fB-R\fP|\fB--regionsize\fP \fISize\fP[m|UNIT] ] + .ad b +-- +2.10.2 + Index: LVM2.2.02.169.tgz =================================================================== Binary file LVM2.2.02.169.tgz (revision 5) added Index: LVM2.2.02.169.tgz.asc =================================================================== --- LVM2.2.02.169.tgz.asc (added) +++ LVM2.2.02.169.tgz.asc (revision 5) @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.14 (GNU/Linux) + +iEYEABECAAYFAljafgEACgkQIoGRwVZ+LBeo5wCfVaQeSN73FPcJf86c3aqrFmZu +Rs0AoJ6l75QbY2V55rhunJvwwDllKlpF +=0Jtt +-----END PGP SIGNATURE----- Index: LVM2.2.02.168.tgz =================================================================== Binary file LVM2.2.02.168.tgz (revision 176) deleted Index: LVM2.2.02.168.tgz.asc =================================================================== --- LVM2.2.02.168.tgz.asc (revision 176) +++ LVM2.2.02.168.tgz.asc (deleted) @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.14 (GNU/Linux) - -iEUEABECAAYFAlg/XqMACgkQIoGRwVZ+LBdjQACVGeU4I+B5ETIhINJeYXy2bLNu -hQCgxEmGwG0ec2frSXhQociTYfT6vVc= -=T5md ------END PGP SIGNATURE----- OBS-URL: https://build.opensuse.org/request/show/487889 OBS-URL: https://build.opensuse.org/package/show/Base:System/lvm2?expand=0&rev=177
2017-04-18 12:55:18 +02:00
--- a/conf/example.conf.in
+++ b/conf/example.conf.in
@@ -372,6 +372,23 @@ allocation {
# or erased unless the --wipesignatures option is used directly.
wipe_signatures_when_zeroing_new_lvs = 1
+ # Set to 1 to guarantee that mirror leg will always be placed on
+ # different PVs(with different tags) from the other mirror legs.
+ #
+ # If you want to enable this feature, the following conditions
+ # must be met:
+ # 1) The mirror_legs_require_separate_pvs must be set to 1, the
+ # default value is 0.
+ # 2) The cling_tag_list must be activated.
+ # 3) The length of all pvs with same tag must greater than or equal
+ # to the mirror's.
+
+ # This feature is only for the first allocation, on the other hand
+ # when creating new mirrored lvs.
+ # Please note that the commond may fail if the number of all tags
+ # on the pvs less than the mirror legs number.
+ mirror_legs_require_separate_pvs = 0
+
# Configuration option allocation/mirror_logs_require_separate_pvs.
# Mirror logs and images will always use different PVs.
# The default setting changed in version 2.02.85.
Accepting request 487889 from home:jnelson-suse:branches:Base:System - Update device mapper version to 1.02.138, see WHATS_NEW_DM for detailed changelogs * Drop obsolete lvmchange files accordingly - Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch - Refresh make-mirror-legs-on-different-tag-pvs.patch - device-mapper-dmsetup-export.patch - LVM version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM files for detailed changelogs old: Base:System/lvm2 new: home:jnelson-suse:branches:Base:System/lvm2 rev None Index: device-mapper-dmsetup-export.patch =================================================================== --- device-mapper-dmsetup-export.patch (revision 176) +++ device-mapper-dmsetup-export.patch (revision 5) @@ -1,7 +1,20 @@ -Index: LVM2.2.02.139/man/dmsetup.8.in +From b148cb1c1e801455cb774f51eecd57f7e4f98c39 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:58:56 +0800 +Subject: [PATCH] DM: add dmsetup export + +bsc#479104 + +Patch-refreshed-by: Eric Ren <zren@suse.com> +--- + man/dmsetup.8_main | 16 +++- + tools/dmsetup.c | 252 ++++++++++++++++++++++++++++++++++++++++++++++++++++- + 2 files changed, 266 insertions(+), 2 deletions(-) + +Index: LVM2.2.02.169/man/dmsetup.8_main =================================================================== ---- LVM2.2.02.139.orig/man/dmsetup.8.in -+++ LVM2.2.02.139/man/dmsetup.8.in +--- LVM2.2.02.169.orig/man/dmsetup.8_main ++++ LVM2.2.02.169/man/dmsetup.8_main @@ -97,7 +97,15 @@ dmsetup \(em low level logical volume ma .. .CMD_LOAD @@ -23,20 +36,20 @@ See below for more information on the table format. . .HP -+.BR \-\-export ++.BR --export +.IR export +.br +Outputs information in key/value format to be imported by other programs. +. +.HP - .BR \-\-udevcookie + .BR --udevcookie .IR cookie .br -Index: LVM2.2.02.139/tools/dmsetup.c +Index: LVM2.2.02.169/tools/dmsetup.c =================================================================== ---- LVM2.2.02.139.orig/tools/dmsetup.c -+++ LVM2.2.02.139/tools/dmsetup.c -@@ -2177,6 +2177,129 @@ out: +--- LVM2.2.02.169.orig/tools/dmsetup.c ++++ LVM2.2.02.169/tools/dmsetup.c +@@ -2231,6 +2231,129 @@ out: return r; } @@ -166,11 +179,16 @@ /* Show target names and their version numbers */ static int _targets(CMD_ARGS) { -@@ -5138,6 +5261,7 @@ static struct command _dmsetup_commands[ - {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, - {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, - {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +@@ -5904,7 +6027,11 @@ static struct command _dmsetup_commands[ + {"deps", "[-o <options>] [<device>...]", 0, -1, 1, 0, _deps}, + {"stats", "<command> [<options>] [<device>...]", 1, -1, 1, 1, _stats}, + {"status", "[<device>...] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +- {"table", "[<device>...] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, ++ {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, ++ {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, + {"export", "[<device>]", 0, -1, 1, 0, _export}, - {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, {"wait", "<device> [<event_nr>] [--noflush]", 0, 2, 0, 0, _wait}, - {"mknodes", "[<device>]", 0, -1, 1, 0, _mknodes}, + {"mknodes", "[<device>...]", 0, -1, 1, 0, _mknodes}, + {"mangle", "[<device>...]", 0, -1, 1, 0, _mangle}, Index: device-mapper.changes =================================================================== --- device-mapper.changes (revision 176) +++ device-mapper.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: device-mapper.spec =================================================================== --- device-mapper.spec (revision 176) +++ device-mapper.spec (revision 5) @@ -19,8 +19,8 @@ %define libname libdevmapper1_03 %define libname_event libdevmapper-event1_03 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: device-mapper Index: libdm-iface-not-output-error-message-inside-retry-loop.patch =================================================================== --- libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 176) +++ libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 5) @@ -1,22 +1,25 @@ -From a70f17fd1dc9a8cccefb946c3501d5cb6f2766bb Mon Sep 17 00:00:00 2001 -From: Liuhua Wang <lwang@suse.com> -Date: Mon, 23 Nov 2015 13:49:39 +0800 +From 3c4d9dd3571e89545d97c8421fd4cbdbaa6895b8 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 11:09:26 +0800 Subject: [PATCH] libdm-iface: not output error message inside retry loops -This is a workaround to avoid noisy error message being output inside retry loops -in case of remove failure because device busy. But as to the replies from upstream +This is a workaround to avoid noisy error message being output inside +retry loops +in case of remove failure because device busy. But as to the replies +from upstream there may be some issues in udev operations. References: bsc#940298 boo#957059 Signed-off-by: lwang@suse.com +Patch-refreshed-by: Eric Ren <zren@suse.com> --- - libdm/ioctl/libdm-iface.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + libdm/ioctl/libdm-iface.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) -Index: LVM2.2.02.141/libdm/ioctl/libdm-iface.c -=================================================================== ---- LVM2.2.02.141.orig/libdm/ioctl/libdm-iface.c -+++ LVM2.2.02.141/libdm/ioctl/libdm-iface.c +diff --git a/libdm/ioctl/libdm-iface.c b/libdm/ioctl/libdm-iface.c +index cb3e8dc..c1c0771 100644 +--- a/libdm/ioctl/libdm-iface.c ++++ b/libdm/ioctl/libdm-iface.c @@ -62,6 +62,7 @@ */ #define MAPPER_CTRL_MINOR 236 @@ -25,15 +28,17 @@ /* dm major version no for running kernel */ static unsigned _dm_version = DM_VERSION_MAJOR; -@@ -1862,7 +1863,7 @@ static struct dm_ioctl *_do_dm_ioctl(str +@@ -1862,8 +1863,8 @@ static struct dm_ioctl *_do_dm_ioctl(struct dm_task *dmt, unsigned command, dmt->major > 0 && dmt->minor == 0 ? "0" : "", dmt->major > 0 ? ")" : "", strerror(dmt->ioctl_errno)); - else +- log_error("device-mapper: %s ioctl on %s %s%s%.0d%s%.0d%s%s " + else if(errno != EBUSY || retry_repeat_count == DM_IOCTL_RETRIES) - log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " ++ log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " "failed: %s", _cmd_data_v4[dmt->type].name, + dmi->name, dmi->uuid, @@ -1915,7 +1916,6 @@ void dm_task_update_nodes(void) update_devs(); } @@ -42,3 +47,6 @@ #define DM_RETRY_USLEEP_DELAY 200000 int dm_task_get_errno(struct dm_task *dmt) +-- +2.10.2 + Index: lvm2-clvm.changes =================================================================== --- lvm2-clvm.changes (revision 176) +++ lvm2-clvm.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2-clvm.spec =================================================================== --- lvm2-clvm.spec (revision 176) +++ lvm2-clvm.spec (revision 5) @@ -19,8 +19,8 @@ %define dlm_version 3.99.1 %define sanlock_version 3.3.0 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2-clvm Index: lvm2.changes =================================================================== --- lvm2.changes (revision 176) +++ lvm2.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2.spec =================================================================== --- lvm2.spec (revision 176) +++ lvm2.spec (revision 5) @@ -20,8 +20,8 @@ %define applib liblvm2app2_2 %define cmdlib liblvm2cmd2_02 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2 @@ -282,7 +282,6 @@ %{_sbindir}/lvcreate %{_sbindir}/lvdisplay %{_sbindir}/lvextend -%{_sbindir}/lvmchange %{_sbindir}/lvmdiskscan %{_sbindir}/lvmsadc %{_sbindir}/lvmsar @@ -336,7 +335,6 @@ /sbin/lvcreate /sbin/lvdisplay /sbin/lvextend -/sbin/lvmchange /sbin/lvmdiskscan /sbin/lvmsadc /sbin/lvmsar @@ -391,7 +389,6 @@ %{_mandir}/man8/lvm-config.8%{ext_man} %{_mandir}/man8/lvmconfig.8%{ext_man} %{_mandir}/man8/lvm-dumpconfig.8%{ext_man} -%{_mandir}/man8/lvmchange.8%{ext_man} %{_mandir}/man8/lvmconf.8%{ext_man} %{_mandir}/man8/lvmdiskscan.8%{ext_man} %{_mandir}/man8/lvmdump.8%{ext_man} Index: make-mirror-legs-on-different-tag-pvs.patch =================================================================== --- make-mirror-legs-on-different-tag-pvs.patch (revision 176) +++ make-mirror-legs-on-different-tag-pvs.patch (revision 5) @@ -1,10 +1,10 @@ -From 49a5da732c74b8b96bc123a541d590c4fd06d7af Mon Sep 17 00:00:00 2001 -From: Guangliang Zhao <gzhao@suse.com> -Date: Mon, 12 Nov 2012 15:28:11 +0800 -Subject: [PATCH 1/2] mirror: make mirror legs on different tag pvs +From b17f2ae4334f9233a88d7a2fcae325f86691beb0 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:44:30 +0800 +Subject: [PATCH] [PATCH 1/2] mirror: make mirror legs on different tag pvs -The mirror legs could be placed on the PVs(with different -tags) from the other mirror legs with this patch. +The mirror legs could be placed on the PVs(with different tags) +from the other mirror legs with this patch. The lvcreate allocates the replica "randomly" when creating a mirrored logical volume now, so it could happen that both @@ -17,18 +17,19 @@ always be placed on pvs with differnt tags. Signed-off-by: Guangliang Zhao <gzhao@suse.com> +Fix-conflict-by: Eric Ren <zren@suse.com> --- - conf/example.conf.in | 17 +++++++++++++++++ - lib/config/config_settings.h | 3 +++ - lib/config/defaults.h | 1 + - lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ - man/lvcreate.8.in | 4 ++++ - 5 files changed, 60 insertions(+) + conf/example.conf.in | 17 +++++++++++++++++ + lib/config/config_settings.h | 5 ++++- + lib/config/defaults.h | 1 + + lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ + man/lvcreate.8_pregen | 7 +++++++ + 5 files changed, 64 insertions(+), 1 deletion(-) -Index: LVM2.2.02.165/conf/example.conf.in -=================================================================== ---- LVM2.2.02.165.orig/conf/example.conf.in -+++ LVM2.2.02.165/conf/example.conf.in +diff --git a/conf/example.conf.in b/conf/example.conf.in +index 614ce53..b33289f 100644 +--- a/conf/example.conf.in ++++ b/conf/example.conf.in @@ -372,6 +372,23 @@ allocation { # or erased unless the --wipesignatures option is used directly. wipe_signatures_when_zeroing_new_lvs = 1 @@ -53,25 +54,27 @@ # Configuration option allocation/mirror_logs_require_separate_pvs. # Mirror logs and images will always use different PVs. # The default setting changed in version 2.02.85. -Index: LVM2.2.02.165/lib/config/config_settings.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/config_settings.h -+++ LVM2.2.02.165/lib/config/config_settings.h -@@ -473,6 +473,9 @@ cfg(allocation_raid_stripe_all_devices_C +diff --git a/lib/config/config_settings.h b/lib/config/config_settings.h +index b701722..0e5a5e2 100644 +--- a/lib/config/config_settings.h ++++ b/lib/config/config_settings.h +@@ -473,7 +473,10 @@ cfg(allocation_raid_stripe_all_devices_CFG, "raid_stripe_all_devices", allocatio "when the command does not specify the number of stripes to use.\n" "This was the default behaviour until release 2.02.162.\n") +-cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, +cfg(allocation_mirror_legs_require_separate_pvs_CFG, "mirror_legs_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_MIRROR_LEGS_REQUIRE_SEPARATE_PVS, vsn(2, 2, 98), NULL, 0, NULL, + "Mirror legs will always use different PVs.\n") + - cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, ++cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, "Cache pool metadata and data will always use different PVs.\n") -Index: LVM2.2.02.165/lib/config/defaults.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/defaults.h -+++ LVM2.2.02.165/lib/config/defaults.h -@@ -158,6 +158,7 @@ + cfg(allocation_cache_pool_cachemode_CFG, "cache_pool_cachemode", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA | CFG_DEFAULT_COMMENTED, CFG_TYPE_STRING, DEFAULT_CACHE_MODE, vsn(2, 2, 113), NULL, vsn(2, 2, 128), +diff --git a/lib/config/defaults.h b/lib/config/defaults.h +index 2340636..256fab6 100644 +--- a/lib/config/defaults.h ++++ b/lib/config/defaults.h +@@ -159,6 +159,7 @@ #define DEFAULT_MAX_LV 0 #define DEFAULT_ALLOC_POLICY ALLOC_NORMAL #define DEFAULT_MIRROR_LOGS_REQUIRE_SEPARATE_PVS 0 @@ -79,11 +82,11 @@ #define DEFAULT_MAXIMISE_CLING 1 #define DEFAULT_CLUSTERED 0 -Index: LVM2.2.02.165/lib/metadata/lv_manip.c -=================================================================== ---- LVM2.2.02.165.orig/lib/metadata/lv_manip.c -+++ LVM2.2.02.165/lib/metadata/lv_manip.c -@@ -1519,6 +1519,9 @@ struct alloc_handle { +diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c +index 0dfbad4..357e46a 100644 +--- a/lib/metadata/lv_manip.c ++++ b/lib/metadata/lv_manip.c +@@ -1622,6 +1622,9 @@ struct alloc_handle { unsigned maximise_cling; unsigned mirror_logs_separate; /* Force mirror logs on separate PVs? */ @@ -93,7 +96,7 @@ /* * RAID devices require a metadata area that accompanies each -@@ -2633,6 +2636,32 @@ static int _limit_to_one_area_per_tag(st +@@ -2736,6 +2739,32 @@ static int _limit_to_one_area_per_tag(struct alloc_handle *ah, struct alloc_stat } /* @@ -126,7 +129,7 @@ * Returns 1 regardless of whether any space was found, except on error. */ static int _find_some_parallel_space(struct alloc_handle *ah, -@@ -2762,6 +2791,10 @@ static int _find_some_parallel_space(str +@@ -2865,6 +2894,10 @@ static int _find_some_parallel_space(struct alloc_handle *ah, continue; case USE_AREA: @@ -137,7 +140,7 @@ /* * Except with ALLOC_ANYWHERE, replace first area with this * one which is smaller but still big enough. -@@ -3243,6 +3276,7 @@ static struct alloc_handle *_alloc_init( +@@ -3355,6 +3388,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->parity_count = parity_count; ah->region_size = region_size; ah->alloc = alloc; @@ -145,7 +148,7 @@ /* * For the purposes of allocation, area_count and parity_count are -@@ -3254,6 +3288,7 @@ static struct alloc_handle *_alloc_init( +@@ -3366,6 +3400,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->area_multiple = _calc_area_multiple(segtype, area_count + parity_count, stripes); //FIXME: s/mirror_logs_separate/metadata_separate/ so it can be used by others? ah->mirror_logs_separate = find_config_tree_bool(cmd, allocation_mirror_logs_require_separate_pvs_CFG, NULL); @@ -153,18 +156,24 @@ if (mirrors || stripes) total_extents = new_extents; -Index: LVM2.2.02.165/man/lvcreate.8.in -=================================================================== ---- LVM2.2.02.165.orig/man/lvcreate.8.in -+++ LVM2.2.02.165/man/lvcreate.8.in -@@ -418,6 +418,10 @@ Using \fBcore\fP means the mirror is reg - from the first device each time the logical volume is activated, - like after every reboot. +diff --git a/man/lvcreate.8_pregen b/man/lvcreate.8_pregen +index 6663087..c385927 100644 +--- a/man/lvcreate.8_pregen ++++ b/man/lvcreate.8_pregen +@@ -416,6 +416,13 @@ Create a raid10 LV. + [ \fB-I\fP|\fB--stripesize\fP \fISize\fP[k|UNIT] ] + .ad b .br +Every leg of the mirrored logical volume could be placed on the pvs with +same tag, see details(mirror_legs_require_separate_pvs) in lvm.conf. + +.br - Using \fBmirrored\fP will create a persistent log that is itself mirrored. - . - .HP ++Using \fBmirrored\fP will create a persistent log that is itself mirrored. ++. ++.HP + .ad l + [ \fB-R\fP|\fB--regionsize\fP \fISize\fP[m|UNIT] ] + .ad b +-- +2.10.2 + Index: LVM2.2.02.169.tgz =================================================================== Binary file LVM2.2.02.169.tgz (revision 5) added Index: LVM2.2.02.169.tgz.asc =================================================================== --- LVM2.2.02.169.tgz.asc (added) +++ LVM2.2.02.169.tgz.asc (revision 5) @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.14 (GNU/Linux) + +iEYEABECAAYFAljafgEACgkQIoGRwVZ+LBeo5wCfVaQeSN73FPcJf86c3aqrFmZu +Rs0AoJ6l75QbY2V55rhunJvwwDllKlpF +=0Jtt +-----END PGP SIGNATURE----- Index: LVM2.2.02.168.tgz =================================================================== Binary file LVM2.2.02.168.tgz (revision 176) deleted Index: LVM2.2.02.168.tgz.asc =================================================================== --- LVM2.2.02.168.tgz.asc (revision 176) +++ LVM2.2.02.168.tgz.asc (deleted) @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.14 (GNU/Linux) - -iEUEABECAAYFAlg/XqMACgkQIoGRwVZ+LBdjQACVGeU4I+B5ETIhINJeYXy2bLNu -hQCgxEmGwG0ec2frSXhQociTYfT6vVc= -=T5md ------END PGP SIGNATURE----- OBS-URL: https://build.opensuse.org/request/show/487889 OBS-URL: https://build.opensuse.org/package/show/Base:System/lvm2?expand=0&rev=177
2017-04-18 12:55:18 +02:00
diff --git a/lib/config/config_settings.h b/lib/config/config_settings.h
index 40b64ab..59eed26 100644
Accepting request 487889 from home:jnelson-suse:branches:Base:System - Update device mapper version to 1.02.138, see WHATS_NEW_DM for detailed changelogs * Drop obsolete lvmchange files accordingly - Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch - Refresh make-mirror-legs-on-different-tag-pvs.patch - device-mapper-dmsetup-export.patch - LVM version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM files for detailed changelogs old: Base:System/lvm2 new: home:jnelson-suse:branches:Base:System/lvm2 rev None Index: device-mapper-dmsetup-export.patch =================================================================== --- device-mapper-dmsetup-export.patch (revision 176) +++ device-mapper-dmsetup-export.patch (revision 5) @@ -1,7 +1,20 @@ -Index: LVM2.2.02.139/man/dmsetup.8.in +From b148cb1c1e801455cb774f51eecd57f7e4f98c39 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:58:56 +0800 +Subject: [PATCH] DM: add dmsetup export + +bsc#479104 + +Patch-refreshed-by: Eric Ren <zren@suse.com> +--- + man/dmsetup.8_main | 16 +++- + tools/dmsetup.c | 252 ++++++++++++++++++++++++++++++++++++++++++++++++++++- + 2 files changed, 266 insertions(+), 2 deletions(-) + +Index: LVM2.2.02.169/man/dmsetup.8_main =================================================================== ---- LVM2.2.02.139.orig/man/dmsetup.8.in -+++ LVM2.2.02.139/man/dmsetup.8.in +--- LVM2.2.02.169.orig/man/dmsetup.8_main ++++ LVM2.2.02.169/man/dmsetup.8_main @@ -97,7 +97,15 @@ dmsetup \(em low level logical volume ma .. .CMD_LOAD @@ -23,20 +36,20 @@ See below for more information on the table format. . .HP -+.BR \-\-export ++.BR --export +.IR export +.br +Outputs information in key/value format to be imported by other programs. +. +.HP - .BR \-\-udevcookie + .BR --udevcookie .IR cookie .br -Index: LVM2.2.02.139/tools/dmsetup.c +Index: LVM2.2.02.169/tools/dmsetup.c =================================================================== ---- LVM2.2.02.139.orig/tools/dmsetup.c -+++ LVM2.2.02.139/tools/dmsetup.c -@@ -2177,6 +2177,129 @@ out: +--- LVM2.2.02.169.orig/tools/dmsetup.c ++++ LVM2.2.02.169/tools/dmsetup.c +@@ -2231,6 +2231,129 @@ out: return r; } @@ -166,11 +179,16 @@ /* Show target names and their version numbers */ static int _targets(CMD_ARGS) { -@@ -5138,6 +5261,7 @@ static struct command _dmsetup_commands[ - {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, - {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, - {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +@@ -5904,7 +6027,11 @@ static struct command _dmsetup_commands[ + {"deps", "[-o <options>] [<device>...]", 0, -1, 1, 0, _deps}, + {"stats", "<command> [<options>] [<device>...]", 1, -1, 1, 1, _stats}, + {"status", "[<device>...] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +- {"table", "[<device>...] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, ++ {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, ++ {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, + {"export", "[<device>]", 0, -1, 1, 0, _export}, - {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, {"wait", "<device> [<event_nr>] [--noflush]", 0, 2, 0, 0, _wait}, - {"mknodes", "[<device>]", 0, -1, 1, 0, _mknodes}, + {"mknodes", "[<device>...]", 0, -1, 1, 0, _mknodes}, + {"mangle", "[<device>...]", 0, -1, 1, 0, _mangle}, Index: device-mapper.changes =================================================================== --- device-mapper.changes (revision 176) +++ device-mapper.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: device-mapper.spec =================================================================== --- device-mapper.spec (revision 176) +++ device-mapper.spec (revision 5) @@ -19,8 +19,8 @@ %define libname libdevmapper1_03 %define libname_event libdevmapper-event1_03 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: device-mapper Index: libdm-iface-not-output-error-message-inside-retry-loop.patch =================================================================== --- libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 176) +++ libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 5) @@ -1,22 +1,25 @@ -From a70f17fd1dc9a8cccefb946c3501d5cb6f2766bb Mon Sep 17 00:00:00 2001 -From: Liuhua Wang <lwang@suse.com> -Date: Mon, 23 Nov 2015 13:49:39 +0800 +From 3c4d9dd3571e89545d97c8421fd4cbdbaa6895b8 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 11:09:26 +0800 Subject: [PATCH] libdm-iface: not output error message inside retry loops -This is a workaround to avoid noisy error message being output inside retry loops -in case of remove failure because device busy. But as to the replies from upstream +This is a workaround to avoid noisy error message being output inside +retry loops +in case of remove failure because device busy. But as to the replies +from upstream there may be some issues in udev operations. References: bsc#940298 boo#957059 Signed-off-by: lwang@suse.com +Patch-refreshed-by: Eric Ren <zren@suse.com> --- - libdm/ioctl/libdm-iface.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + libdm/ioctl/libdm-iface.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) -Index: LVM2.2.02.141/libdm/ioctl/libdm-iface.c -=================================================================== ---- LVM2.2.02.141.orig/libdm/ioctl/libdm-iface.c -+++ LVM2.2.02.141/libdm/ioctl/libdm-iface.c +diff --git a/libdm/ioctl/libdm-iface.c b/libdm/ioctl/libdm-iface.c +index cb3e8dc..c1c0771 100644 +--- a/libdm/ioctl/libdm-iface.c ++++ b/libdm/ioctl/libdm-iface.c @@ -62,6 +62,7 @@ */ #define MAPPER_CTRL_MINOR 236 @@ -25,15 +28,17 @@ /* dm major version no for running kernel */ static unsigned _dm_version = DM_VERSION_MAJOR; -@@ -1862,7 +1863,7 @@ static struct dm_ioctl *_do_dm_ioctl(str +@@ -1862,8 +1863,8 @@ static struct dm_ioctl *_do_dm_ioctl(struct dm_task *dmt, unsigned command, dmt->major > 0 && dmt->minor == 0 ? "0" : "", dmt->major > 0 ? ")" : "", strerror(dmt->ioctl_errno)); - else +- log_error("device-mapper: %s ioctl on %s %s%s%.0d%s%.0d%s%s " + else if(errno != EBUSY || retry_repeat_count == DM_IOCTL_RETRIES) - log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " ++ log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " "failed: %s", _cmd_data_v4[dmt->type].name, + dmi->name, dmi->uuid, @@ -1915,7 +1916,6 @@ void dm_task_update_nodes(void) update_devs(); } @@ -42,3 +47,6 @@ #define DM_RETRY_USLEEP_DELAY 200000 int dm_task_get_errno(struct dm_task *dmt) +-- +2.10.2 + Index: lvm2-clvm.changes =================================================================== --- lvm2-clvm.changes (revision 176) +++ lvm2-clvm.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2-clvm.spec =================================================================== --- lvm2-clvm.spec (revision 176) +++ lvm2-clvm.spec (revision 5) @@ -19,8 +19,8 @@ %define dlm_version 3.99.1 %define sanlock_version 3.3.0 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2-clvm Index: lvm2.changes =================================================================== --- lvm2.changes (revision 176) +++ lvm2.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2.spec =================================================================== --- lvm2.spec (revision 176) +++ lvm2.spec (revision 5) @@ -20,8 +20,8 @@ %define applib liblvm2app2_2 %define cmdlib liblvm2cmd2_02 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2 @@ -282,7 +282,6 @@ %{_sbindir}/lvcreate %{_sbindir}/lvdisplay %{_sbindir}/lvextend -%{_sbindir}/lvmchange %{_sbindir}/lvmdiskscan %{_sbindir}/lvmsadc %{_sbindir}/lvmsar @@ -336,7 +335,6 @@ /sbin/lvcreate /sbin/lvdisplay /sbin/lvextend -/sbin/lvmchange /sbin/lvmdiskscan /sbin/lvmsadc /sbin/lvmsar @@ -391,7 +389,6 @@ %{_mandir}/man8/lvm-config.8%{ext_man} %{_mandir}/man8/lvmconfig.8%{ext_man} %{_mandir}/man8/lvm-dumpconfig.8%{ext_man} -%{_mandir}/man8/lvmchange.8%{ext_man} %{_mandir}/man8/lvmconf.8%{ext_man} %{_mandir}/man8/lvmdiskscan.8%{ext_man} %{_mandir}/man8/lvmdump.8%{ext_man} Index: make-mirror-legs-on-different-tag-pvs.patch =================================================================== --- make-mirror-legs-on-different-tag-pvs.patch (revision 176) +++ make-mirror-legs-on-different-tag-pvs.patch (revision 5) @@ -1,10 +1,10 @@ -From 49a5da732c74b8b96bc123a541d590c4fd06d7af Mon Sep 17 00:00:00 2001 -From: Guangliang Zhao <gzhao@suse.com> -Date: Mon, 12 Nov 2012 15:28:11 +0800 -Subject: [PATCH 1/2] mirror: make mirror legs on different tag pvs +From b17f2ae4334f9233a88d7a2fcae325f86691beb0 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:44:30 +0800 +Subject: [PATCH] [PATCH 1/2] mirror: make mirror legs on different tag pvs -The mirror legs could be placed on the PVs(with different -tags) from the other mirror legs with this patch. +The mirror legs could be placed on the PVs(with different tags) +from the other mirror legs with this patch. The lvcreate allocates the replica "randomly" when creating a mirrored logical volume now, so it could happen that both @@ -17,18 +17,19 @@ always be placed on pvs with differnt tags. Signed-off-by: Guangliang Zhao <gzhao@suse.com> +Fix-conflict-by: Eric Ren <zren@suse.com> --- - conf/example.conf.in | 17 +++++++++++++++++ - lib/config/config_settings.h | 3 +++ - lib/config/defaults.h | 1 + - lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ - man/lvcreate.8.in | 4 ++++ - 5 files changed, 60 insertions(+) + conf/example.conf.in | 17 +++++++++++++++++ + lib/config/config_settings.h | 5 ++++- + lib/config/defaults.h | 1 + + lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ + man/lvcreate.8_pregen | 7 +++++++ + 5 files changed, 64 insertions(+), 1 deletion(-) -Index: LVM2.2.02.165/conf/example.conf.in -=================================================================== ---- LVM2.2.02.165.orig/conf/example.conf.in -+++ LVM2.2.02.165/conf/example.conf.in +diff --git a/conf/example.conf.in b/conf/example.conf.in +index 614ce53..b33289f 100644 +--- a/conf/example.conf.in ++++ b/conf/example.conf.in @@ -372,6 +372,23 @@ allocation { # or erased unless the --wipesignatures option is used directly. wipe_signatures_when_zeroing_new_lvs = 1 @@ -53,25 +54,27 @@ # Configuration option allocation/mirror_logs_require_separate_pvs. # Mirror logs and images will always use different PVs. # The default setting changed in version 2.02.85. -Index: LVM2.2.02.165/lib/config/config_settings.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/config_settings.h -+++ LVM2.2.02.165/lib/config/config_settings.h -@@ -473,6 +473,9 @@ cfg(allocation_raid_stripe_all_devices_C +diff --git a/lib/config/config_settings.h b/lib/config/config_settings.h +index b701722..0e5a5e2 100644 +--- a/lib/config/config_settings.h ++++ b/lib/config/config_settings.h +@@ -473,7 +473,10 @@ cfg(allocation_raid_stripe_all_devices_CFG, "raid_stripe_all_devices", allocatio "when the command does not specify the number of stripes to use.\n" "This was the default behaviour until release 2.02.162.\n") +-cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, +cfg(allocation_mirror_legs_require_separate_pvs_CFG, "mirror_legs_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_MIRROR_LEGS_REQUIRE_SEPARATE_PVS, vsn(2, 2, 98), NULL, 0, NULL, + "Mirror legs will always use different PVs.\n") + - cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, ++cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, "Cache pool metadata and data will always use different PVs.\n") -Index: LVM2.2.02.165/lib/config/defaults.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/defaults.h -+++ LVM2.2.02.165/lib/config/defaults.h -@@ -158,6 +158,7 @@ + cfg(allocation_cache_pool_cachemode_CFG, "cache_pool_cachemode", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA | CFG_DEFAULT_COMMENTED, CFG_TYPE_STRING, DEFAULT_CACHE_MODE, vsn(2, 2, 113), NULL, vsn(2, 2, 128), +diff --git a/lib/config/defaults.h b/lib/config/defaults.h +index 2340636..256fab6 100644 +--- a/lib/config/defaults.h ++++ b/lib/config/defaults.h +@@ -159,6 +159,7 @@ #define DEFAULT_MAX_LV 0 #define DEFAULT_ALLOC_POLICY ALLOC_NORMAL #define DEFAULT_MIRROR_LOGS_REQUIRE_SEPARATE_PVS 0 @@ -79,11 +82,11 @@ #define DEFAULT_MAXIMISE_CLING 1 #define DEFAULT_CLUSTERED 0 -Index: LVM2.2.02.165/lib/metadata/lv_manip.c -=================================================================== ---- LVM2.2.02.165.orig/lib/metadata/lv_manip.c -+++ LVM2.2.02.165/lib/metadata/lv_manip.c -@@ -1519,6 +1519,9 @@ struct alloc_handle { +diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c +index 0dfbad4..357e46a 100644 +--- a/lib/metadata/lv_manip.c ++++ b/lib/metadata/lv_manip.c +@@ -1622,6 +1622,9 @@ struct alloc_handle { unsigned maximise_cling; unsigned mirror_logs_separate; /* Force mirror logs on separate PVs? */ @@ -93,7 +96,7 @@ /* * RAID devices require a metadata area that accompanies each -@@ -2633,6 +2636,32 @@ static int _limit_to_one_area_per_tag(st +@@ -2736,6 +2739,32 @@ static int _limit_to_one_area_per_tag(struct alloc_handle *ah, struct alloc_stat } /* @@ -126,7 +129,7 @@ * Returns 1 regardless of whether any space was found, except on error. */ static int _find_some_parallel_space(struct alloc_handle *ah, -@@ -2762,6 +2791,10 @@ static int _find_some_parallel_space(str +@@ -2865,6 +2894,10 @@ static int _find_some_parallel_space(struct alloc_handle *ah, continue; case USE_AREA: @@ -137,7 +140,7 @@ /* * Except with ALLOC_ANYWHERE, replace first area with this * one which is smaller but still big enough. -@@ -3243,6 +3276,7 @@ static struct alloc_handle *_alloc_init( +@@ -3355,6 +3388,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->parity_count = parity_count; ah->region_size = region_size; ah->alloc = alloc; @@ -145,7 +148,7 @@ /* * For the purposes of allocation, area_count and parity_count are -@@ -3254,6 +3288,7 @@ static struct alloc_handle *_alloc_init( +@@ -3366,6 +3400,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->area_multiple = _calc_area_multiple(segtype, area_count + parity_count, stripes); //FIXME: s/mirror_logs_separate/metadata_separate/ so it can be used by others? ah->mirror_logs_separate = find_config_tree_bool(cmd, allocation_mirror_logs_require_separate_pvs_CFG, NULL); @@ -153,18 +156,24 @@ if (mirrors || stripes) total_extents = new_extents; -Index: LVM2.2.02.165/man/lvcreate.8.in -=================================================================== ---- LVM2.2.02.165.orig/man/lvcreate.8.in -+++ LVM2.2.02.165/man/lvcreate.8.in -@@ -418,6 +418,10 @@ Using \fBcore\fP means the mirror is reg - from the first device each time the logical volume is activated, - like after every reboot. +diff --git a/man/lvcreate.8_pregen b/man/lvcreate.8_pregen +index 6663087..c385927 100644 +--- a/man/lvcreate.8_pregen ++++ b/man/lvcreate.8_pregen +@@ -416,6 +416,13 @@ Create a raid10 LV. + [ \fB-I\fP|\fB--stripesize\fP \fISize\fP[k|UNIT] ] + .ad b .br +Every leg of the mirrored logical volume could be placed on the pvs with +same tag, see details(mirror_legs_require_separate_pvs) in lvm.conf. + +.br - Using \fBmirrored\fP will create a persistent log that is itself mirrored. - . - .HP ++Using \fBmirrored\fP will create a persistent log that is itself mirrored. ++. ++.HP + .ad l + [ \fB-R\fP|\fB--regionsize\fP \fISize\fP[m|UNIT] ] + .ad b +-- +2.10.2 + Index: LVM2.2.02.169.tgz =================================================================== Binary file LVM2.2.02.169.tgz (revision 5) added Index: LVM2.2.02.169.tgz.asc =================================================================== --- LVM2.2.02.169.tgz.asc (added) +++ LVM2.2.02.169.tgz.asc (revision 5) @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.14 (GNU/Linux) + +iEYEABECAAYFAljafgEACgkQIoGRwVZ+LBeo5wCfVaQeSN73FPcJf86c3aqrFmZu +Rs0AoJ6l75QbY2V55rhunJvwwDllKlpF +=0Jtt +-----END PGP SIGNATURE----- Index: LVM2.2.02.168.tgz =================================================================== Binary file LVM2.2.02.168.tgz (revision 176) deleted Index: LVM2.2.02.168.tgz.asc =================================================================== --- LVM2.2.02.168.tgz.asc (revision 176) +++ LVM2.2.02.168.tgz.asc (deleted) @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.14 (GNU/Linux) - -iEUEABECAAYFAlg/XqMACgkQIoGRwVZ+LBdjQACVGeU4I+B5ETIhINJeYXy2bLNu -hQCgxEmGwG0ec2frSXhQociTYfT6vVc= -=T5md ------END PGP SIGNATURE----- OBS-URL: https://build.opensuse.org/request/show/487889 OBS-URL: https://build.opensuse.org/package/show/Base:System/lvm2?expand=0&rev=177
2017-04-18 12:55:18 +02:00
--- a/lib/config/config_settings.h
+++ b/lib/config/config_settings.h
@@ -474,7 +474,10 @@ cfg(allocation_raid_stripe_all_devices_CFG, "raid_stripe_all_devices", allocatio
"stripes to use.\n"
"This was the default behaviour until release 2.02.162.\n")
Accepting request 487889 from home:jnelson-suse:branches:Base:System - Update device mapper version to 1.02.138, see WHATS_NEW_DM for detailed changelogs * Drop obsolete lvmchange files accordingly - Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch - Refresh make-mirror-legs-on-different-tag-pvs.patch - device-mapper-dmsetup-export.patch - LVM version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM files for detailed changelogs old: Base:System/lvm2 new: home:jnelson-suse:branches:Base:System/lvm2 rev None Index: device-mapper-dmsetup-export.patch =================================================================== --- device-mapper-dmsetup-export.patch (revision 176) +++ device-mapper-dmsetup-export.patch (revision 5) @@ -1,7 +1,20 @@ -Index: LVM2.2.02.139/man/dmsetup.8.in +From b148cb1c1e801455cb774f51eecd57f7e4f98c39 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:58:56 +0800 +Subject: [PATCH] DM: add dmsetup export + +bsc#479104 + +Patch-refreshed-by: Eric Ren <zren@suse.com> +--- + man/dmsetup.8_main | 16 +++- + tools/dmsetup.c | 252 ++++++++++++++++++++++++++++++++++++++++++++++++++++- + 2 files changed, 266 insertions(+), 2 deletions(-) + +Index: LVM2.2.02.169/man/dmsetup.8_main =================================================================== ---- LVM2.2.02.139.orig/man/dmsetup.8.in -+++ LVM2.2.02.139/man/dmsetup.8.in +--- LVM2.2.02.169.orig/man/dmsetup.8_main ++++ LVM2.2.02.169/man/dmsetup.8_main @@ -97,7 +97,15 @@ dmsetup \(em low level logical volume ma .. .CMD_LOAD @@ -23,20 +36,20 @@ See below for more information on the table format. . .HP -+.BR \-\-export ++.BR --export +.IR export +.br +Outputs information in key/value format to be imported by other programs. +. +.HP - .BR \-\-udevcookie + .BR --udevcookie .IR cookie .br -Index: LVM2.2.02.139/tools/dmsetup.c +Index: LVM2.2.02.169/tools/dmsetup.c =================================================================== ---- LVM2.2.02.139.orig/tools/dmsetup.c -+++ LVM2.2.02.139/tools/dmsetup.c -@@ -2177,6 +2177,129 @@ out: +--- LVM2.2.02.169.orig/tools/dmsetup.c ++++ LVM2.2.02.169/tools/dmsetup.c +@@ -2231,6 +2231,129 @@ out: return r; } @@ -166,11 +179,16 @@ /* Show target names and their version numbers */ static int _targets(CMD_ARGS) { -@@ -5138,6 +5261,7 @@ static struct command _dmsetup_commands[ - {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, - {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, - {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +@@ -5904,7 +6027,11 @@ static struct command _dmsetup_commands[ + {"deps", "[-o <options>] [<device>...]", 0, -1, 1, 0, _deps}, + {"stats", "<command> [<options>] [<device>...]", 1, -1, 1, 1, _stats}, + {"status", "[<device>...] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +- {"table", "[<device>...] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, ++ {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, ++ {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, + {"export", "[<device>]", 0, -1, 1, 0, _export}, - {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, {"wait", "<device> [<event_nr>] [--noflush]", 0, 2, 0, 0, _wait}, - {"mknodes", "[<device>]", 0, -1, 1, 0, _mknodes}, + {"mknodes", "[<device>...]", 0, -1, 1, 0, _mknodes}, + {"mangle", "[<device>...]", 0, -1, 1, 0, _mangle}, Index: device-mapper.changes =================================================================== --- device-mapper.changes (revision 176) +++ device-mapper.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: device-mapper.spec =================================================================== --- device-mapper.spec (revision 176) +++ device-mapper.spec (revision 5) @@ -19,8 +19,8 @@ %define libname libdevmapper1_03 %define libname_event libdevmapper-event1_03 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: device-mapper Index: libdm-iface-not-output-error-message-inside-retry-loop.patch =================================================================== --- libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 176) +++ libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 5) @@ -1,22 +1,25 @@ -From a70f17fd1dc9a8cccefb946c3501d5cb6f2766bb Mon Sep 17 00:00:00 2001 -From: Liuhua Wang <lwang@suse.com> -Date: Mon, 23 Nov 2015 13:49:39 +0800 +From 3c4d9dd3571e89545d97c8421fd4cbdbaa6895b8 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 11:09:26 +0800 Subject: [PATCH] libdm-iface: not output error message inside retry loops -This is a workaround to avoid noisy error message being output inside retry loops -in case of remove failure because device busy. But as to the replies from upstream +This is a workaround to avoid noisy error message being output inside +retry loops +in case of remove failure because device busy. But as to the replies +from upstream there may be some issues in udev operations. References: bsc#940298 boo#957059 Signed-off-by: lwang@suse.com +Patch-refreshed-by: Eric Ren <zren@suse.com> --- - libdm/ioctl/libdm-iface.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + libdm/ioctl/libdm-iface.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) -Index: LVM2.2.02.141/libdm/ioctl/libdm-iface.c -=================================================================== ---- LVM2.2.02.141.orig/libdm/ioctl/libdm-iface.c -+++ LVM2.2.02.141/libdm/ioctl/libdm-iface.c +diff --git a/libdm/ioctl/libdm-iface.c b/libdm/ioctl/libdm-iface.c +index cb3e8dc..c1c0771 100644 +--- a/libdm/ioctl/libdm-iface.c ++++ b/libdm/ioctl/libdm-iface.c @@ -62,6 +62,7 @@ */ #define MAPPER_CTRL_MINOR 236 @@ -25,15 +28,17 @@ /* dm major version no for running kernel */ static unsigned _dm_version = DM_VERSION_MAJOR; -@@ -1862,7 +1863,7 @@ static struct dm_ioctl *_do_dm_ioctl(str +@@ -1862,8 +1863,8 @@ static struct dm_ioctl *_do_dm_ioctl(struct dm_task *dmt, unsigned command, dmt->major > 0 && dmt->minor == 0 ? "0" : "", dmt->major > 0 ? ")" : "", strerror(dmt->ioctl_errno)); - else +- log_error("device-mapper: %s ioctl on %s %s%s%.0d%s%.0d%s%s " + else if(errno != EBUSY || retry_repeat_count == DM_IOCTL_RETRIES) - log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " ++ log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " "failed: %s", _cmd_data_v4[dmt->type].name, + dmi->name, dmi->uuid, @@ -1915,7 +1916,6 @@ void dm_task_update_nodes(void) update_devs(); } @@ -42,3 +47,6 @@ #define DM_RETRY_USLEEP_DELAY 200000 int dm_task_get_errno(struct dm_task *dmt) +-- +2.10.2 + Index: lvm2-clvm.changes =================================================================== --- lvm2-clvm.changes (revision 176) +++ lvm2-clvm.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2-clvm.spec =================================================================== --- lvm2-clvm.spec (revision 176) +++ lvm2-clvm.spec (revision 5) @@ -19,8 +19,8 @@ %define dlm_version 3.99.1 %define sanlock_version 3.3.0 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2-clvm Index: lvm2.changes =================================================================== --- lvm2.changes (revision 176) +++ lvm2.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2.spec =================================================================== --- lvm2.spec (revision 176) +++ lvm2.spec (revision 5) @@ -20,8 +20,8 @@ %define applib liblvm2app2_2 %define cmdlib liblvm2cmd2_02 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2 @@ -282,7 +282,6 @@ %{_sbindir}/lvcreate %{_sbindir}/lvdisplay %{_sbindir}/lvextend -%{_sbindir}/lvmchange %{_sbindir}/lvmdiskscan %{_sbindir}/lvmsadc %{_sbindir}/lvmsar @@ -336,7 +335,6 @@ /sbin/lvcreate /sbin/lvdisplay /sbin/lvextend -/sbin/lvmchange /sbin/lvmdiskscan /sbin/lvmsadc /sbin/lvmsar @@ -391,7 +389,6 @@ %{_mandir}/man8/lvm-config.8%{ext_man} %{_mandir}/man8/lvmconfig.8%{ext_man} %{_mandir}/man8/lvm-dumpconfig.8%{ext_man} -%{_mandir}/man8/lvmchange.8%{ext_man} %{_mandir}/man8/lvmconf.8%{ext_man} %{_mandir}/man8/lvmdiskscan.8%{ext_man} %{_mandir}/man8/lvmdump.8%{ext_man} Index: make-mirror-legs-on-different-tag-pvs.patch =================================================================== --- make-mirror-legs-on-different-tag-pvs.patch (revision 176) +++ make-mirror-legs-on-different-tag-pvs.patch (revision 5) @@ -1,10 +1,10 @@ -From 49a5da732c74b8b96bc123a541d590c4fd06d7af Mon Sep 17 00:00:00 2001 -From: Guangliang Zhao <gzhao@suse.com> -Date: Mon, 12 Nov 2012 15:28:11 +0800 -Subject: [PATCH 1/2] mirror: make mirror legs on different tag pvs +From b17f2ae4334f9233a88d7a2fcae325f86691beb0 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:44:30 +0800 +Subject: [PATCH] [PATCH 1/2] mirror: make mirror legs on different tag pvs -The mirror legs could be placed on the PVs(with different -tags) from the other mirror legs with this patch. +The mirror legs could be placed on the PVs(with different tags) +from the other mirror legs with this patch. The lvcreate allocates the replica "randomly" when creating a mirrored logical volume now, so it could happen that both @@ -17,18 +17,19 @@ always be placed on pvs with differnt tags. Signed-off-by: Guangliang Zhao <gzhao@suse.com> +Fix-conflict-by: Eric Ren <zren@suse.com> --- - conf/example.conf.in | 17 +++++++++++++++++ - lib/config/config_settings.h | 3 +++ - lib/config/defaults.h | 1 + - lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ - man/lvcreate.8.in | 4 ++++ - 5 files changed, 60 insertions(+) + conf/example.conf.in | 17 +++++++++++++++++ + lib/config/config_settings.h | 5 ++++- + lib/config/defaults.h | 1 + + lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ + man/lvcreate.8_pregen | 7 +++++++ + 5 files changed, 64 insertions(+), 1 deletion(-) -Index: LVM2.2.02.165/conf/example.conf.in -=================================================================== ---- LVM2.2.02.165.orig/conf/example.conf.in -+++ LVM2.2.02.165/conf/example.conf.in +diff --git a/conf/example.conf.in b/conf/example.conf.in +index 614ce53..b33289f 100644 +--- a/conf/example.conf.in ++++ b/conf/example.conf.in @@ -372,6 +372,23 @@ allocation { # or erased unless the --wipesignatures option is used directly. wipe_signatures_when_zeroing_new_lvs = 1 @@ -53,25 +54,27 @@ # Configuration option allocation/mirror_logs_require_separate_pvs. # Mirror logs and images will always use different PVs. # The default setting changed in version 2.02.85. -Index: LVM2.2.02.165/lib/config/config_settings.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/config_settings.h -+++ LVM2.2.02.165/lib/config/config_settings.h -@@ -473,6 +473,9 @@ cfg(allocation_raid_stripe_all_devices_C +diff --git a/lib/config/config_settings.h b/lib/config/config_settings.h +index b701722..0e5a5e2 100644 +--- a/lib/config/config_settings.h ++++ b/lib/config/config_settings.h +@@ -473,7 +473,10 @@ cfg(allocation_raid_stripe_all_devices_CFG, "raid_stripe_all_devices", allocatio "when the command does not specify the number of stripes to use.\n" "This was the default behaviour until release 2.02.162.\n") +-cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, +cfg(allocation_mirror_legs_require_separate_pvs_CFG, "mirror_legs_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_MIRROR_LEGS_REQUIRE_SEPARATE_PVS, vsn(2, 2, 98), NULL, 0, NULL, + "Mirror legs will always use different PVs.\n") + - cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, ++cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, "Cache pool metadata and data will always use different PVs.\n") -Index: LVM2.2.02.165/lib/config/defaults.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/defaults.h -+++ LVM2.2.02.165/lib/config/defaults.h -@@ -158,6 +158,7 @@ + cfg(allocation_cache_pool_cachemode_CFG, "cache_pool_cachemode", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA | CFG_DEFAULT_COMMENTED, CFG_TYPE_STRING, DEFAULT_CACHE_MODE, vsn(2, 2, 113), NULL, vsn(2, 2, 128), +diff --git a/lib/config/defaults.h b/lib/config/defaults.h +index 2340636..256fab6 100644 +--- a/lib/config/defaults.h ++++ b/lib/config/defaults.h +@@ -159,6 +159,7 @@ #define DEFAULT_MAX_LV 0 #define DEFAULT_ALLOC_POLICY ALLOC_NORMAL #define DEFAULT_MIRROR_LOGS_REQUIRE_SEPARATE_PVS 0 @@ -79,11 +82,11 @@ #define DEFAULT_MAXIMISE_CLING 1 #define DEFAULT_CLUSTERED 0 -Index: LVM2.2.02.165/lib/metadata/lv_manip.c -=================================================================== ---- LVM2.2.02.165.orig/lib/metadata/lv_manip.c -+++ LVM2.2.02.165/lib/metadata/lv_manip.c -@@ -1519,6 +1519,9 @@ struct alloc_handle { +diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c +index 0dfbad4..357e46a 100644 +--- a/lib/metadata/lv_manip.c ++++ b/lib/metadata/lv_manip.c +@@ -1622,6 +1622,9 @@ struct alloc_handle { unsigned maximise_cling; unsigned mirror_logs_separate; /* Force mirror logs on separate PVs? */ @@ -93,7 +96,7 @@ /* * RAID devices require a metadata area that accompanies each -@@ -2633,6 +2636,32 @@ static int _limit_to_one_area_per_tag(st +@@ -2736,6 +2739,32 @@ static int _limit_to_one_area_per_tag(struct alloc_handle *ah, struct alloc_stat } /* @@ -126,7 +129,7 @@ * Returns 1 regardless of whether any space was found, except on error. */ static int _find_some_parallel_space(struct alloc_handle *ah, -@@ -2762,6 +2791,10 @@ static int _find_some_parallel_space(str +@@ -2865,6 +2894,10 @@ static int _find_some_parallel_space(struct alloc_handle *ah, continue; case USE_AREA: @@ -137,7 +140,7 @@ /* * Except with ALLOC_ANYWHERE, replace first area with this * one which is smaller but still big enough. -@@ -3243,6 +3276,7 @@ static struct alloc_handle *_alloc_init( +@@ -3355,6 +3388,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->parity_count = parity_count; ah->region_size = region_size; ah->alloc = alloc; @@ -145,7 +148,7 @@ /* * For the purposes of allocation, area_count and parity_count are -@@ -3254,6 +3288,7 @@ static struct alloc_handle *_alloc_init( +@@ -3366,6 +3400,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->area_multiple = _calc_area_multiple(segtype, area_count + parity_count, stripes); //FIXME: s/mirror_logs_separate/metadata_separate/ so it can be used by others? ah->mirror_logs_separate = find_config_tree_bool(cmd, allocation_mirror_logs_require_separate_pvs_CFG, NULL); @@ -153,18 +156,24 @@ if (mirrors || stripes) total_extents = new_extents; -Index: LVM2.2.02.165/man/lvcreate.8.in -=================================================================== ---- LVM2.2.02.165.orig/man/lvcreate.8.in -+++ LVM2.2.02.165/man/lvcreate.8.in -@@ -418,6 +418,10 @@ Using \fBcore\fP means the mirror is reg - from the first device each time the logical volume is activated, - like after every reboot. +diff --git a/man/lvcreate.8_pregen b/man/lvcreate.8_pregen +index 6663087..c385927 100644 +--- a/man/lvcreate.8_pregen ++++ b/man/lvcreate.8_pregen +@@ -416,6 +416,13 @@ Create a raid10 LV. + [ \fB-I\fP|\fB--stripesize\fP \fISize\fP[k|UNIT] ] + .ad b .br +Every leg of the mirrored logical volume could be placed on the pvs with +same tag, see details(mirror_legs_require_separate_pvs) in lvm.conf. + +.br - Using \fBmirrored\fP will create a persistent log that is itself mirrored. - . - .HP ++Using \fBmirrored\fP will create a persistent log that is itself mirrored. ++. ++.HP + .ad l + [ \fB-R\fP|\fB--regionsize\fP \fISize\fP[m|UNIT] ] + .ad b +-- +2.10.2 + Index: LVM2.2.02.169.tgz =================================================================== Binary file LVM2.2.02.169.tgz (revision 5) added Index: LVM2.2.02.169.tgz.asc =================================================================== --- LVM2.2.02.169.tgz.asc (added) +++ LVM2.2.02.169.tgz.asc (revision 5) @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.14 (GNU/Linux) + +iEYEABECAAYFAljafgEACgkQIoGRwVZ+LBeo5wCfVaQeSN73FPcJf86c3aqrFmZu +Rs0AoJ6l75QbY2V55rhunJvwwDllKlpF +=0Jtt +-----END PGP SIGNATURE----- Index: LVM2.2.02.168.tgz =================================================================== Binary file LVM2.2.02.168.tgz (revision 176) deleted Index: LVM2.2.02.168.tgz.asc =================================================================== --- LVM2.2.02.168.tgz.asc (revision 176) +++ LVM2.2.02.168.tgz.asc (deleted) @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.14 (GNU/Linux) - -iEUEABECAAYFAlg/XqMACgkQIoGRwVZ+LBdjQACVGeU4I+B5ETIhINJeYXy2bLNu -hQCgxEmGwG0ec2frSXhQociTYfT6vVc= -=T5md ------END PGP SIGNATURE----- OBS-URL: https://build.opensuse.org/request/show/487889 OBS-URL: https://build.opensuse.org/package/show/Base:System/lvm2?expand=0&rev=177
2017-04-18 12:55:18 +02:00
-cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL,
+cfg(allocation_mirror_legs_require_separate_pvs_CFG, "mirror_legs_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_MIRROR_LEGS_REQUIRE_SEPARATE_PVS, vsn(2, 2, 98), NULL, 0, NULL,
+ "Mirror legs will always use different PVs.\n")
+
Accepting request 487889 from home:jnelson-suse:branches:Base:System - Update device mapper version to 1.02.138, see WHATS_NEW_DM for detailed changelogs * Drop obsolete lvmchange files accordingly - Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch - Refresh make-mirror-legs-on-different-tag-pvs.patch - device-mapper-dmsetup-export.patch - LVM version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM files for detailed changelogs old: Base:System/lvm2 new: home:jnelson-suse:branches:Base:System/lvm2 rev None Index: device-mapper-dmsetup-export.patch =================================================================== --- device-mapper-dmsetup-export.patch (revision 176) +++ device-mapper-dmsetup-export.patch (revision 5) @@ -1,7 +1,20 @@ -Index: LVM2.2.02.139/man/dmsetup.8.in +From b148cb1c1e801455cb774f51eecd57f7e4f98c39 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:58:56 +0800 +Subject: [PATCH] DM: add dmsetup export + +bsc#479104 + +Patch-refreshed-by: Eric Ren <zren@suse.com> +--- + man/dmsetup.8_main | 16 +++- + tools/dmsetup.c | 252 ++++++++++++++++++++++++++++++++++++++++++++++++++++- + 2 files changed, 266 insertions(+), 2 deletions(-) + +Index: LVM2.2.02.169/man/dmsetup.8_main =================================================================== ---- LVM2.2.02.139.orig/man/dmsetup.8.in -+++ LVM2.2.02.139/man/dmsetup.8.in +--- LVM2.2.02.169.orig/man/dmsetup.8_main ++++ LVM2.2.02.169/man/dmsetup.8_main @@ -97,7 +97,15 @@ dmsetup \(em low level logical volume ma .. .CMD_LOAD @@ -23,20 +36,20 @@ See below for more information on the table format. . .HP -+.BR \-\-export ++.BR --export +.IR export +.br +Outputs information in key/value format to be imported by other programs. +. +.HP - .BR \-\-udevcookie + .BR --udevcookie .IR cookie .br -Index: LVM2.2.02.139/tools/dmsetup.c +Index: LVM2.2.02.169/tools/dmsetup.c =================================================================== ---- LVM2.2.02.139.orig/tools/dmsetup.c -+++ LVM2.2.02.139/tools/dmsetup.c -@@ -2177,6 +2177,129 @@ out: +--- LVM2.2.02.169.orig/tools/dmsetup.c ++++ LVM2.2.02.169/tools/dmsetup.c +@@ -2231,6 +2231,129 @@ out: return r; } @@ -166,11 +179,16 @@ /* Show target names and their version numbers */ static int _targets(CMD_ARGS) { -@@ -5138,6 +5261,7 @@ static struct command _dmsetup_commands[ - {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, - {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, - {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +@@ -5904,7 +6027,11 @@ static struct command _dmsetup_commands[ + {"deps", "[-o <options>] [<device>...]", 0, -1, 1, 0, _deps}, + {"stats", "<command> [<options>] [<device>...]", 1, -1, 1, 1, _stats}, + {"status", "[<device>...] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +- {"table", "[<device>...] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, ++ {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, ++ {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, + {"export", "[<device>]", 0, -1, 1, 0, _export}, - {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, {"wait", "<device> [<event_nr>] [--noflush]", 0, 2, 0, 0, _wait}, - {"mknodes", "[<device>]", 0, -1, 1, 0, _mknodes}, + {"mknodes", "[<device>...]", 0, -1, 1, 0, _mknodes}, + {"mangle", "[<device>...]", 0, -1, 1, 0, _mangle}, Index: device-mapper.changes =================================================================== --- device-mapper.changes (revision 176) +++ device-mapper.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: device-mapper.spec =================================================================== --- device-mapper.spec (revision 176) +++ device-mapper.spec (revision 5) @@ -19,8 +19,8 @@ %define libname libdevmapper1_03 %define libname_event libdevmapper-event1_03 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: device-mapper Index: libdm-iface-not-output-error-message-inside-retry-loop.patch =================================================================== --- libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 176) +++ libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 5) @@ -1,22 +1,25 @@ -From a70f17fd1dc9a8cccefb946c3501d5cb6f2766bb Mon Sep 17 00:00:00 2001 -From: Liuhua Wang <lwang@suse.com> -Date: Mon, 23 Nov 2015 13:49:39 +0800 +From 3c4d9dd3571e89545d97c8421fd4cbdbaa6895b8 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 11:09:26 +0800 Subject: [PATCH] libdm-iface: not output error message inside retry loops -This is a workaround to avoid noisy error message being output inside retry loops -in case of remove failure because device busy. But as to the replies from upstream +This is a workaround to avoid noisy error message being output inside +retry loops +in case of remove failure because device busy. But as to the replies +from upstream there may be some issues in udev operations. References: bsc#940298 boo#957059 Signed-off-by: lwang@suse.com +Patch-refreshed-by: Eric Ren <zren@suse.com> --- - libdm/ioctl/libdm-iface.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + libdm/ioctl/libdm-iface.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) -Index: LVM2.2.02.141/libdm/ioctl/libdm-iface.c -=================================================================== ---- LVM2.2.02.141.orig/libdm/ioctl/libdm-iface.c -+++ LVM2.2.02.141/libdm/ioctl/libdm-iface.c +diff --git a/libdm/ioctl/libdm-iface.c b/libdm/ioctl/libdm-iface.c +index cb3e8dc..c1c0771 100644 +--- a/libdm/ioctl/libdm-iface.c ++++ b/libdm/ioctl/libdm-iface.c @@ -62,6 +62,7 @@ */ #define MAPPER_CTRL_MINOR 236 @@ -25,15 +28,17 @@ /* dm major version no for running kernel */ static unsigned _dm_version = DM_VERSION_MAJOR; -@@ -1862,7 +1863,7 @@ static struct dm_ioctl *_do_dm_ioctl(str +@@ -1862,8 +1863,8 @@ static struct dm_ioctl *_do_dm_ioctl(struct dm_task *dmt, unsigned command, dmt->major > 0 && dmt->minor == 0 ? "0" : "", dmt->major > 0 ? ")" : "", strerror(dmt->ioctl_errno)); - else +- log_error("device-mapper: %s ioctl on %s %s%s%.0d%s%.0d%s%s " + else if(errno != EBUSY || retry_repeat_count == DM_IOCTL_RETRIES) - log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " ++ log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " "failed: %s", _cmd_data_v4[dmt->type].name, + dmi->name, dmi->uuid, @@ -1915,7 +1916,6 @@ void dm_task_update_nodes(void) update_devs(); } @@ -42,3 +47,6 @@ #define DM_RETRY_USLEEP_DELAY 200000 int dm_task_get_errno(struct dm_task *dmt) +-- +2.10.2 + Index: lvm2-clvm.changes =================================================================== --- lvm2-clvm.changes (revision 176) +++ lvm2-clvm.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2-clvm.spec =================================================================== --- lvm2-clvm.spec (revision 176) +++ lvm2-clvm.spec (revision 5) @@ -19,8 +19,8 @@ %define dlm_version 3.99.1 %define sanlock_version 3.3.0 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2-clvm Index: lvm2.changes =================================================================== --- lvm2.changes (revision 176) +++ lvm2.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2.spec =================================================================== --- lvm2.spec (revision 176) +++ lvm2.spec (revision 5) @@ -20,8 +20,8 @@ %define applib liblvm2app2_2 %define cmdlib liblvm2cmd2_02 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2 @@ -282,7 +282,6 @@ %{_sbindir}/lvcreate %{_sbindir}/lvdisplay %{_sbindir}/lvextend -%{_sbindir}/lvmchange %{_sbindir}/lvmdiskscan %{_sbindir}/lvmsadc %{_sbindir}/lvmsar @@ -336,7 +335,6 @@ /sbin/lvcreate /sbin/lvdisplay /sbin/lvextend -/sbin/lvmchange /sbin/lvmdiskscan /sbin/lvmsadc /sbin/lvmsar @@ -391,7 +389,6 @@ %{_mandir}/man8/lvm-config.8%{ext_man} %{_mandir}/man8/lvmconfig.8%{ext_man} %{_mandir}/man8/lvm-dumpconfig.8%{ext_man} -%{_mandir}/man8/lvmchange.8%{ext_man} %{_mandir}/man8/lvmconf.8%{ext_man} %{_mandir}/man8/lvmdiskscan.8%{ext_man} %{_mandir}/man8/lvmdump.8%{ext_man} Index: make-mirror-legs-on-different-tag-pvs.patch =================================================================== --- make-mirror-legs-on-different-tag-pvs.patch (revision 176) +++ make-mirror-legs-on-different-tag-pvs.patch (revision 5) @@ -1,10 +1,10 @@ -From 49a5da732c74b8b96bc123a541d590c4fd06d7af Mon Sep 17 00:00:00 2001 -From: Guangliang Zhao <gzhao@suse.com> -Date: Mon, 12 Nov 2012 15:28:11 +0800 -Subject: [PATCH 1/2] mirror: make mirror legs on different tag pvs +From b17f2ae4334f9233a88d7a2fcae325f86691beb0 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:44:30 +0800 +Subject: [PATCH] [PATCH 1/2] mirror: make mirror legs on different tag pvs -The mirror legs could be placed on the PVs(with different -tags) from the other mirror legs with this patch. +The mirror legs could be placed on the PVs(with different tags) +from the other mirror legs with this patch. The lvcreate allocates the replica "randomly" when creating a mirrored logical volume now, so it could happen that both @@ -17,18 +17,19 @@ always be placed on pvs with differnt tags. Signed-off-by: Guangliang Zhao <gzhao@suse.com> +Fix-conflict-by: Eric Ren <zren@suse.com> --- - conf/example.conf.in | 17 +++++++++++++++++ - lib/config/config_settings.h | 3 +++ - lib/config/defaults.h | 1 + - lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ - man/lvcreate.8.in | 4 ++++ - 5 files changed, 60 insertions(+) + conf/example.conf.in | 17 +++++++++++++++++ + lib/config/config_settings.h | 5 ++++- + lib/config/defaults.h | 1 + + lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ + man/lvcreate.8_pregen | 7 +++++++ + 5 files changed, 64 insertions(+), 1 deletion(-) -Index: LVM2.2.02.165/conf/example.conf.in -=================================================================== ---- LVM2.2.02.165.orig/conf/example.conf.in -+++ LVM2.2.02.165/conf/example.conf.in +diff --git a/conf/example.conf.in b/conf/example.conf.in +index 614ce53..b33289f 100644 +--- a/conf/example.conf.in ++++ b/conf/example.conf.in @@ -372,6 +372,23 @@ allocation { # or erased unless the --wipesignatures option is used directly. wipe_signatures_when_zeroing_new_lvs = 1 @@ -53,25 +54,27 @@ # Configuration option allocation/mirror_logs_require_separate_pvs. # Mirror logs and images will always use different PVs. # The default setting changed in version 2.02.85. -Index: LVM2.2.02.165/lib/config/config_settings.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/config_settings.h -+++ LVM2.2.02.165/lib/config/config_settings.h -@@ -473,6 +473,9 @@ cfg(allocation_raid_stripe_all_devices_C +diff --git a/lib/config/config_settings.h b/lib/config/config_settings.h +index b701722..0e5a5e2 100644 +--- a/lib/config/config_settings.h ++++ b/lib/config/config_settings.h +@@ -473,7 +473,10 @@ cfg(allocation_raid_stripe_all_devices_CFG, "raid_stripe_all_devices", allocatio "when the command does not specify the number of stripes to use.\n" "This was the default behaviour until release 2.02.162.\n") +-cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, +cfg(allocation_mirror_legs_require_separate_pvs_CFG, "mirror_legs_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_MIRROR_LEGS_REQUIRE_SEPARATE_PVS, vsn(2, 2, 98), NULL, 0, NULL, + "Mirror legs will always use different PVs.\n") + - cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, ++cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, "Cache pool metadata and data will always use different PVs.\n") -Index: LVM2.2.02.165/lib/config/defaults.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/defaults.h -+++ LVM2.2.02.165/lib/config/defaults.h -@@ -158,6 +158,7 @@ + cfg(allocation_cache_pool_cachemode_CFG, "cache_pool_cachemode", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA | CFG_DEFAULT_COMMENTED, CFG_TYPE_STRING, DEFAULT_CACHE_MODE, vsn(2, 2, 113), NULL, vsn(2, 2, 128), +diff --git a/lib/config/defaults.h b/lib/config/defaults.h +index 2340636..256fab6 100644 +--- a/lib/config/defaults.h ++++ b/lib/config/defaults.h +@@ -159,6 +159,7 @@ #define DEFAULT_MAX_LV 0 #define DEFAULT_ALLOC_POLICY ALLOC_NORMAL #define DEFAULT_MIRROR_LOGS_REQUIRE_SEPARATE_PVS 0 @@ -79,11 +82,11 @@ #define DEFAULT_MAXIMISE_CLING 1 #define DEFAULT_CLUSTERED 0 -Index: LVM2.2.02.165/lib/metadata/lv_manip.c -=================================================================== ---- LVM2.2.02.165.orig/lib/metadata/lv_manip.c -+++ LVM2.2.02.165/lib/metadata/lv_manip.c -@@ -1519,6 +1519,9 @@ struct alloc_handle { +diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c +index 0dfbad4..357e46a 100644 +--- a/lib/metadata/lv_manip.c ++++ b/lib/metadata/lv_manip.c +@@ -1622,6 +1622,9 @@ struct alloc_handle { unsigned maximise_cling; unsigned mirror_logs_separate; /* Force mirror logs on separate PVs? */ @@ -93,7 +96,7 @@ /* * RAID devices require a metadata area that accompanies each -@@ -2633,6 +2636,32 @@ static int _limit_to_one_area_per_tag(st +@@ -2736,6 +2739,32 @@ static int _limit_to_one_area_per_tag(struct alloc_handle *ah, struct alloc_stat } /* @@ -126,7 +129,7 @@ * Returns 1 regardless of whether any space was found, except on error. */ static int _find_some_parallel_space(struct alloc_handle *ah, -@@ -2762,6 +2791,10 @@ static int _find_some_parallel_space(str +@@ -2865,6 +2894,10 @@ static int _find_some_parallel_space(struct alloc_handle *ah, continue; case USE_AREA: @@ -137,7 +140,7 @@ /* * Except with ALLOC_ANYWHERE, replace first area with this * one which is smaller but still big enough. -@@ -3243,6 +3276,7 @@ static struct alloc_handle *_alloc_init( +@@ -3355,6 +3388,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->parity_count = parity_count; ah->region_size = region_size; ah->alloc = alloc; @@ -145,7 +148,7 @@ /* * For the purposes of allocation, area_count and parity_count are -@@ -3254,6 +3288,7 @@ static struct alloc_handle *_alloc_init( +@@ -3366,6 +3400,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->area_multiple = _calc_area_multiple(segtype, area_count + parity_count, stripes); //FIXME: s/mirror_logs_separate/metadata_separate/ so it can be used by others? ah->mirror_logs_separate = find_config_tree_bool(cmd, allocation_mirror_logs_require_separate_pvs_CFG, NULL); @@ -153,18 +156,24 @@ if (mirrors || stripes) total_extents = new_extents; -Index: LVM2.2.02.165/man/lvcreate.8.in -=================================================================== ---- LVM2.2.02.165.orig/man/lvcreate.8.in -+++ LVM2.2.02.165/man/lvcreate.8.in -@@ -418,6 +418,10 @@ Using \fBcore\fP means the mirror is reg - from the first device each time the logical volume is activated, - like after every reboot. +diff --git a/man/lvcreate.8_pregen b/man/lvcreate.8_pregen +index 6663087..c385927 100644 +--- a/man/lvcreate.8_pregen ++++ b/man/lvcreate.8_pregen +@@ -416,6 +416,13 @@ Create a raid10 LV. + [ \fB-I\fP|\fB--stripesize\fP \fISize\fP[k|UNIT] ] + .ad b .br +Every leg of the mirrored logical volume could be placed on the pvs with +same tag, see details(mirror_legs_require_separate_pvs) in lvm.conf. + +.br - Using \fBmirrored\fP will create a persistent log that is itself mirrored. - . - .HP ++Using \fBmirrored\fP will create a persistent log that is itself mirrored. ++. ++.HP + .ad l + [ \fB-R\fP|\fB--regionsize\fP \fISize\fP[m|UNIT] ] + .ad b +-- +2.10.2 + Index: LVM2.2.02.169.tgz =================================================================== Binary file LVM2.2.02.169.tgz (revision 5) added Index: LVM2.2.02.169.tgz.asc =================================================================== --- LVM2.2.02.169.tgz.asc (added) +++ LVM2.2.02.169.tgz.asc (revision 5) @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.14 (GNU/Linux) + +iEYEABECAAYFAljafgEACgkQIoGRwVZ+LBeo5wCfVaQeSN73FPcJf86c3aqrFmZu +Rs0AoJ6l75QbY2V55rhunJvwwDllKlpF +=0Jtt +-----END PGP SIGNATURE----- Index: LVM2.2.02.168.tgz =================================================================== Binary file LVM2.2.02.168.tgz (revision 176) deleted Index: LVM2.2.02.168.tgz.asc =================================================================== --- LVM2.2.02.168.tgz.asc (revision 176) +++ LVM2.2.02.168.tgz.asc (deleted) @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.14 (GNU/Linux) - -iEUEABECAAYFAlg/XqMACgkQIoGRwVZ+LBdjQACVGeU4I+B5ETIhINJeYXy2bLNu -hQCgxEmGwG0ec2frSXhQociTYfT6vVc= -=T5md ------END PGP SIGNATURE----- OBS-URL: https://build.opensuse.org/request/show/487889 OBS-URL: https://build.opensuse.org/package/show/Base:System/lvm2?expand=0&rev=177
2017-04-18 12:55:18 +02:00
+cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL,
"Cache pool metadata and data will always use different PVs.\n")
Accepting request 487889 from home:jnelson-suse:branches:Base:System - Update device mapper version to 1.02.138, see WHATS_NEW_DM for detailed changelogs * Drop obsolete lvmchange files accordingly - Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch - Refresh make-mirror-legs-on-different-tag-pvs.patch - device-mapper-dmsetup-export.patch - LVM version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM files for detailed changelogs old: Base:System/lvm2 new: home:jnelson-suse:branches:Base:System/lvm2 rev None Index: device-mapper-dmsetup-export.patch =================================================================== --- device-mapper-dmsetup-export.patch (revision 176) +++ device-mapper-dmsetup-export.patch (revision 5) @@ -1,7 +1,20 @@ -Index: LVM2.2.02.139/man/dmsetup.8.in +From b148cb1c1e801455cb774f51eecd57f7e4f98c39 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:58:56 +0800 +Subject: [PATCH] DM: add dmsetup export + +bsc#479104 + +Patch-refreshed-by: Eric Ren <zren@suse.com> +--- + man/dmsetup.8_main | 16 +++- + tools/dmsetup.c | 252 ++++++++++++++++++++++++++++++++++++++++++++++++++++- + 2 files changed, 266 insertions(+), 2 deletions(-) + +Index: LVM2.2.02.169/man/dmsetup.8_main =================================================================== ---- LVM2.2.02.139.orig/man/dmsetup.8.in -+++ LVM2.2.02.139/man/dmsetup.8.in +--- LVM2.2.02.169.orig/man/dmsetup.8_main ++++ LVM2.2.02.169/man/dmsetup.8_main @@ -97,7 +97,15 @@ dmsetup \(em low level logical volume ma .. .CMD_LOAD @@ -23,20 +36,20 @@ See below for more information on the table format. . .HP -+.BR \-\-export ++.BR --export +.IR export +.br +Outputs information in key/value format to be imported by other programs. +. +.HP - .BR \-\-udevcookie + .BR --udevcookie .IR cookie .br -Index: LVM2.2.02.139/tools/dmsetup.c +Index: LVM2.2.02.169/tools/dmsetup.c =================================================================== ---- LVM2.2.02.139.orig/tools/dmsetup.c -+++ LVM2.2.02.139/tools/dmsetup.c -@@ -2177,6 +2177,129 @@ out: +--- LVM2.2.02.169.orig/tools/dmsetup.c ++++ LVM2.2.02.169/tools/dmsetup.c +@@ -2231,6 +2231,129 @@ out: return r; } @@ -166,11 +179,16 @@ /* Show target names and their version numbers */ static int _targets(CMD_ARGS) { -@@ -5138,6 +5261,7 @@ static struct command _dmsetup_commands[ - {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, - {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, - {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +@@ -5904,7 +6027,11 @@ static struct command _dmsetup_commands[ + {"deps", "[-o <options>] [<device>...]", 0, -1, 1, 0, _deps}, + {"stats", "<command> [<options>] [<device>...]", 1, -1, 1, 1, _stats}, + {"status", "[<device>...] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +- {"table", "[<device>...] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, ++ {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, ++ {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, + {"export", "[<device>]", 0, -1, 1, 0, _export}, - {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, {"wait", "<device> [<event_nr>] [--noflush]", 0, 2, 0, 0, _wait}, - {"mknodes", "[<device>]", 0, -1, 1, 0, _mknodes}, + {"mknodes", "[<device>...]", 0, -1, 1, 0, _mknodes}, + {"mangle", "[<device>...]", 0, -1, 1, 0, _mangle}, Index: device-mapper.changes =================================================================== --- device-mapper.changes (revision 176) +++ device-mapper.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: device-mapper.spec =================================================================== --- device-mapper.spec (revision 176) +++ device-mapper.spec (revision 5) @@ -19,8 +19,8 @@ %define libname libdevmapper1_03 %define libname_event libdevmapper-event1_03 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: device-mapper Index: libdm-iface-not-output-error-message-inside-retry-loop.patch =================================================================== --- libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 176) +++ libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 5) @@ -1,22 +1,25 @@ -From a70f17fd1dc9a8cccefb946c3501d5cb6f2766bb Mon Sep 17 00:00:00 2001 -From: Liuhua Wang <lwang@suse.com> -Date: Mon, 23 Nov 2015 13:49:39 +0800 +From 3c4d9dd3571e89545d97c8421fd4cbdbaa6895b8 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 11:09:26 +0800 Subject: [PATCH] libdm-iface: not output error message inside retry loops -This is a workaround to avoid noisy error message being output inside retry loops -in case of remove failure because device busy. But as to the replies from upstream +This is a workaround to avoid noisy error message being output inside +retry loops +in case of remove failure because device busy. But as to the replies +from upstream there may be some issues in udev operations. References: bsc#940298 boo#957059 Signed-off-by: lwang@suse.com +Patch-refreshed-by: Eric Ren <zren@suse.com> --- - libdm/ioctl/libdm-iface.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + libdm/ioctl/libdm-iface.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) -Index: LVM2.2.02.141/libdm/ioctl/libdm-iface.c -=================================================================== ---- LVM2.2.02.141.orig/libdm/ioctl/libdm-iface.c -+++ LVM2.2.02.141/libdm/ioctl/libdm-iface.c +diff --git a/libdm/ioctl/libdm-iface.c b/libdm/ioctl/libdm-iface.c +index cb3e8dc..c1c0771 100644 +--- a/libdm/ioctl/libdm-iface.c ++++ b/libdm/ioctl/libdm-iface.c @@ -62,6 +62,7 @@ */ #define MAPPER_CTRL_MINOR 236 @@ -25,15 +28,17 @@ /* dm major version no for running kernel */ static unsigned _dm_version = DM_VERSION_MAJOR; -@@ -1862,7 +1863,7 @@ static struct dm_ioctl *_do_dm_ioctl(str +@@ -1862,8 +1863,8 @@ static struct dm_ioctl *_do_dm_ioctl(struct dm_task *dmt, unsigned command, dmt->major > 0 && dmt->minor == 0 ? "0" : "", dmt->major > 0 ? ")" : "", strerror(dmt->ioctl_errno)); - else +- log_error("device-mapper: %s ioctl on %s %s%s%.0d%s%.0d%s%s " + else if(errno != EBUSY || retry_repeat_count == DM_IOCTL_RETRIES) - log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " ++ log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " "failed: %s", _cmd_data_v4[dmt->type].name, + dmi->name, dmi->uuid, @@ -1915,7 +1916,6 @@ void dm_task_update_nodes(void) update_devs(); } @@ -42,3 +47,6 @@ #define DM_RETRY_USLEEP_DELAY 200000 int dm_task_get_errno(struct dm_task *dmt) +-- +2.10.2 + Index: lvm2-clvm.changes =================================================================== --- lvm2-clvm.changes (revision 176) +++ lvm2-clvm.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2-clvm.spec =================================================================== --- lvm2-clvm.spec (revision 176) +++ lvm2-clvm.spec (revision 5) @@ -19,8 +19,8 @@ %define dlm_version 3.99.1 %define sanlock_version 3.3.0 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2-clvm Index: lvm2.changes =================================================================== --- lvm2.changes (revision 176) +++ lvm2.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2.spec =================================================================== --- lvm2.spec (revision 176) +++ lvm2.spec (revision 5) @@ -20,8 +20,8 @@ %define applib liblvm2app2_2 %define cmdlib liblvm2cmd2_02 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2 @@ -282,7 +282,6 @@ %{_sbindir}/lvcreate %{_sbindir}/lvdisplay %{_sbindir}/lvextend -%{_sbindir}/lvmchange %{_sbindir}/lvmdiskscan %{_sbindir}/lvmsadc %{_sbindir}/lvmsar @@ -336,7 +335,6 @@ /sbin/lvcreate /sbin/lvdisplay /sbin/lvextend -/sbin/lvmchange /sbin/lvmdiskscan /sbin/lvmsadc /sbin/lvmsar @@ -391,7 +389,6 @@ %{_mandir}/man8/lvm-config.8%{ext_man} %{_mandir}/man8/lvmconfig.8%{ext_man} %{_mandir}/man8/lvm-dumpconfig.8%{ext_man} -%{_mandir}/man8/lvmchange.8%{ext_man} %{_mandir}/man8/lvmconf.8%{ext_man} %{_mandir}/man8/lvmdiskscan.8%{ext_man} %{_mandir}/man8/lvmdump.8%{ext_man} Index: make-mirror-legs-on-different-tag-pvs.patch =================================================================== --- make-mirror-legs-on-different-tag-pvs.patch (revision 176) +++ make-mirror-legs-on-different-tag-pvs.patch (revision 5) @@ -1,10 +1,10 @@ -From 49a5da732c74b8b96bc123a541d590c4fd06d7af Mon Sep 17 00:00:00 2001 -From: Guangliang Zhao <gzhao@suse.com> -Date: Mon, 12 Nov 2012 15:28:11 +0800 -Subject: [PATCH 1/2] mirror: make mirror legs on different tag pvs +From b17f2ae4334f9233a88d7a2fcae325f86691beb0 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:44:30 +0800 +Subject: [PATCH] [PATCH 1/2] mirror: make mirror legs on different tag pvs -The mirror legs could be placed on the PVs(with different -tags) from the other mirror legs with this patch. +The mirror legs could be placed on the PVs(with different tags) +from the other mirror legs with this patch. The lvcreate allocates the replica "randomly" when creating a mirrored logical volume now, so it could happen that both @@ -17,18 +17,19 @@ always be placed on pvs with differnt tags. Signed-off-by: Guangliang Zhao <gzhao@suse.com> +Fix-conflict-by: Eric Ren <zren@suse.com> --- - conf/example.conf.in | 17 +++++++++++++++++ - lib/config/config_settings.h | 3 +++ - lib/config/defaults.h | 1 + - lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ - man/lvcreate.8.in | 4 ++++ - 5 files changed, 60 insertions(+) + conf/example.conf.in | 17 +++++++++++++++++ + lib/config/config_settings.h | 5 ++++- + lib/config/defaults.h | 1 + + lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ + man/lvcreate.8_pregen | 7 +++++++ + 5 files changed, 64 insertions(+), 1 deletion(-) -Index: LVM2.2.02.165/conf/example.conf.in -=================================================================== ---- LVM2.2.02.165.orig/conf/example.conf.in -+++ LVM2.2.02.165/conf/example.conf.in +diff --git a/conf/example.conf.in b/conf/example.conf.in +index 614ce53..b33289f 100644 +--- a/conf/example.conf.in ++++ b/conf/example.conf.in @@ -372,6 +372,23 @@ allocation { # or erased unless the --wipesignatures option is used directly. wipe_signatures_when_zeroing_new_lvs = 1 @@ -53,25 +54,27 @@ # Configuration option allocation/mirror_logs_require_separate_pvs. # Mirror logs and images will always use different PVs. # The default setting changed in version 2.02.85. -Index: LVM2.2.02.165/lib/config/config_settings.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/config_settings.h -+++ LVM2.2.02.165/lib/config/config_settings.h -@@ -473,6 +473,9 @@ cfg(allocation_raid_stripe_all_devices_C +diff --git a/lib/config/config_settings.h b/lib/config/config_settings.h +index b701722..0e5a5e2 100644 +--- a/lib/config/config_settings.h ++++ b/lib/config/config_settings.h +@@ -473,7 +473,10 @@ cfg(allocation_raid_stripe_all_devices_CFG, "raid_stripe_all_devices", allocatio "when the command does not specify the number of stripes to use.\n" "This was the default behaviour until release 2.02.162.\n") +-cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, +cfg(allocation_mirror_legs_require_separate_pvs_CFG, "mirror_legs_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_MIRROR_LEGS_REQUIRE_SEPARATE_PVS, vsn(2, 2, 98), NULL, 0, NULL, + "Mirror legs will always use different PVs.\n") + - cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, ++cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, "Cache pool metadata and data will always use different PVs.\n") -Index: LVM2.2.02.165/lib/config/defaults.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/defaults.h -+++ LVM2.2.02.165/lib/config/defaults.h -@@ -158,6 +158,7 @@ + cfg(allocation_cache_pool_cachemode_CFG, "cache_pool_cachemode", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA | CFG_DEFAULT_COMMENTED, CFG_TYPE_STRING, DEFAULT_CACHE_MODE, vsn(2, 2, 113), NULL, vsn(2, 2, 128), +diff --git a/lib/config/defaults.h b/lib/config/defaults.h +index 2340636..256fab6 100644 +--- a/lib/config/defaults.h ++++ b/lib/config/defaults.h +@@ -159,6 +159,7 @@ #define DEFAULT_MAX_LV 0 #define DEFAULT_ALLOC_POLICY ALLOC_NORMAL #define DEFAULT_MIRROR_LOGS_REQUIRE_SEPARATE_PVS 0 @@ -79,11 +82,11 @@ #define DEFAULT_MAXIMISE_CLING 1 #define DEFAULT_CLUSTERED 0 -Index: LVM2.2.02.165/lib/metadata/lv_manip.c -=================================================================== ---- LVM2.2.02.165.orig/lib/metadata/lv_manip.c -+++ LVM2.2.02.165/lib/metadata/lv_manip.c -@@ -1519,6 +1519,9 @@ struct alloc_handle { +diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c +index 0dfbad4..357e46a 100644 +--- a/lib/metadata/lv_manip.c ++++ b/lib/metadata/lv_manip.c +@@ -1622,6 +1622,9 @@ struct alloc_handle { unsigned maximise_cling; unsigned mirror_logs_separate; /* Force mirror logs on separate PVs? */ @@ -93,7 +96,7 @@ /* * RAID devices require a metadata area that accompanies each -@@ -2633,6 +2636,32 @@ static int _limit_to_one_area_per_tag(st +@@ -2736,6 +2739,32 @@ static int _limit_to_one_area_per_tag(struct alloc_handle *ah, struct alloc_stat } /* @@ -126,7 +129,7 @@ * Returns 1 regardless of whether any space was found, except on error. */ static int _find_some_parallel_space(struct alloc_handle *ah, -@@ -2762,6 +2791,10 @@ static int _find_some_parallel_space(str +@@ -2865,6 +2894,10 @@ static int _find_some_parallel_space(struct alloc_handle *ah, continue; case USE_AREA: @@ -137,7 +140,7 @@ /* * Except with ALLOC_ANYWHERE, replace first area with this * one which is smaller but still big enough. -@@ -3243,6 +3276,7 @@ static struct alloc_handle *_alloc_init( +@@ -3355,6 +3388,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->parity_count = parity_count; ah->region_size = region_size; ah->alloc = alloc; @@ -145,7 +148,7 @@ /* * For the purposes of allocation, area_count and parity_count are -@@ -3254,6 +3288,7 @@ static struct alloc_handle *_alloc_init( +@@ -3366,6 +3400,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->area_multiple = _calc_area_multiple(segtype, area_count + parity_count, stripes); //FIXME: s/mirror_logs_separate/metadata_separate/ so it can be used by others? ah->mirror_logs_separate = find_config_tree_bool(cmd, allocation_mirror_logs_require_separate_pvs_CFG, NULL); @@ -153,18 +156,24 @@ if (mirrors || stripes) total_extents = new_extents; -Index: LVM2.2.02.165/man/lvcreate.8.in -=================================================================== ---- LVM2.2.02.165.orig/man/lvcreate.8.in -+++ LVM2.2.02.165/man/lvcreate.8.in -@@ -418,6 +418,10 @@ Using \fBcore\fP means the mirror is reg - from the first device each time the logical volume is activated, - like after every reboot. +diff --git a/man/lvcreate.8_pregen b/man/lvcreate.8_pregen +index 6663087..c385927 100644 +--- a/man/lvcreate.8_pregen ++++ b/man/lvcreate.8_pregen +@@ -416,6 +416,13 @@ Create a raid10 LV. + [ \fB-I\fP|\fB--stripesize\fP \fISize\fP[k|UNIT] ] + .ad b .br +Every leg of the mirrored logical volume could be placed on the pvs with +same tag, see details(mirror_legs_require_separate_pvs) in lvm.conf. + +.br - Using \fBmirrored\fP will create a persistent log that is itself mirrored. - . - .HP ++Using \fBmirrored\fP will create a persistent log that is itself mirrored. ++. ++.HP + .ad l + [ \fB-R\fP|\fB--regionsize\fP \fISize\fP[m|UNIT] ] + .ad b +-- +2.10.2 + Index: LVM2.2.02.169.tgz =================================================================== Binary file LVM2.2.02.169.tgz (revision 5) added Index: LVM2.2.02.169.tgz.asc =================================================================== --- LVM2.2.02.169.tgz.asc (added) +++ LVM2.2.02.169.tgz.asc (revision 5) @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.14 (GNU/Linux) + +iEYEABECAAYFAljafgEACgkQIoGRwVZ+LBeo5wCfVaQeSN73FPcJf86c3aqrFmZu +Rs0AoJ6l75QbY2V55rhunJvwwDllKlpF +=0Jtt +-----END PGP SIGNATURE----- Index: LVM2.2.02.168.tgz =================================================================== Binary file LVM2.2.02.168.tgz (revision 176) deleted Index: LVM2.2.02.168.tgz.asc =================================================================== --- LVM2.2.02.168.tgz.asc (revision 176) +++ LVM2.2.02.168.tgz.asc (deleted) @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.14 (GNU/Linux) - -iEUEABECAAYFAlg/XqMACgkQIoGRwVZ+LBdjQACVGeU4I+B5ETIhINJeYXy2bLNu -hQCgxEmGwG0ec2frSXhQociTYfT6vVc= -=T5md ------END PGP SIGNATURE----- OBS-URL: https://build.opensuse.org/request/show/487889 OBS-URL: https://build.opensuse.org/package/show/Base:System/lvm2?expand=0&rev=177
2017-04-18 12:55:18 +02:00
cfg(allocation_cache_pool_cachemode_CFG, "cache_pool_cachemode", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA | CFG_DEFAULT_COMMENTED, CFG_TYPE_STRING, DEFAULT_CACHE_MODE, vsn(2, 2, 113), NULL, vsn(2, 2, 128),
diff --git a/lib/config/defaults.h b/lib/config/defaults.h
index d9e19d9..e5134e4 100644
Accepting request 487889 from home:jnelson-suse:branches:Base:System - Update device mapper version to 1.02.138, see WHATS_NEW_DM for detailed changelogs * Drop obsolete lvmchange files accordingly - Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch - Refresh make-mirror-legs-on-different-tag-pvs.patch - device-mapper-dmsetup-export.patch - LVM version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM files for detailed changelogs old: Base:System/lvm2 new: home:jnelson-suse:branches:Base:System/lvm2 rev None Index: device-mapper-dmsetup-export.patch =================================================================== --- device-mapper-dmsetup-export.patch (revision 176) +++ device-mapper-dmsetup-export.patch (revision 5) @@ -1,7 +1,20 @@ -Index: LVM2.2.02.139/man/dmsetup.8.in +From b148cb1c1e801455cb774f51eecd57f7e4f98c39 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:58:56 +0800 +Subject: [PATCH] DM: add dmsetup export + +bsc#479104 + +Patch-refreshed-by: Eric Ren <zren@suse.com> +--- + man/dmsetup.8_main | 16 +++- + tools/dmsetup.c | 252 ++++++++++++++++++++++++++++++++++++++++++++++++++++- + 2 files changed, 266 insertions(+), 2 deletions(-) + +Index: LVM2.2.02.169/man/dmsetup.8_main =================================================================== ---- LVM2.2.02.139.orig/man/dmsetup.8.in -+++ LVM2.2.02.139/man/dmsetup.8.in +--- LVM2.2.02.169.orig/man/dmsetup.8_main ++++ LVM2.2.02.169/man/dmsetup.8_main @@ -97,7 +97,15 @@ dmsetup \(em low level logical volume ma .. .CMD_LOAD @@ -23,20 +36,20 @@ See below for more information on the table format. . .HP -+.BR \-\-export ++.BR --export +.IR export +.br +Outputs information in key/value format to be imported by other programs. +. +.HP - .BR \-\-udevcookie + .BR --udevcookie .IR cookie .br -Index: LVM2.2.02.139/tools/dmsetup.c +Index: LVM2.2.02.169/tools/dmsetup.c =================================================================== ---- LVM2.2.02.139.orig/tools/dmsetup.c -+++ LVM2.2.02.139/tools/dmsetup.c -@@ -2177,6 +2177,129 @@ out: +--- LVM2.2.02.169.orig/tools/dmsetup.c ++++ LVM2.2.02.169/tools/dmsetup.c +@@ -2231,6 +2231,129 @@ out: return r; } @@ -166,11 +179,16 @@ /* Show target names and their version numbers */ static int _targets(CMD_ARGS) { -@@ -5138,6 +5261,7 @@ static struct command _dmsetup_commands[ - {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, - {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, - {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +@@ -5904,7 +6027,11 @@ static struct command _dmsetup_commands[ + {"deps", "[-o <options>] [<device>...]", 0, -1, 1, 0, _deps}, + {"stats", "<command> [<options>] [<device>...]", 1, -1, 1, 1, _stats}, + {"status", "[<device>...] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +- {"table", "[<device>...] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, ++ {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, ++ {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, + {"export", "[<device>]", 0, -1, 1, 0, _export}, - {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, {"wait", "<device> [<event_nr>] [--noflush]", 0, 2, 0, 0, _wait}, - {"mknodes", "[<device>]", 0, -1, 1, 0, _mknodes}, + {"mknodes", "[<device>...]", 0, -1, 1, 0, _mknodes}, + {"mangle", "[<device>...]", 0, -1, 1, 0, _mangle}, Index: device-mapper.changes =================================================================== --- device-mapper.changes (revision 176) +++ device-mapper.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: device-mapper.spec =================================================================== --- device-mapper.spec (revision 176) +++ device-mapper.spec (revision 5) @@ -19,8 +19,8 @@ %define libname libdevmapper1_03 %define libname_event libdevmapper-event1_03 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: device-mapper Index: libdm-iface-not-output-error-message-inside-retry-loop.patch =================================================================== --- libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 176) +++ libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 5) @@ -1,22 +1,25 @@ -From a70f17fd1dc9a8cccefb946c3501d5cb6f2766bb Mon Sep 17 00:00:00 2001 -From: Liuhua Wang <lwang@suse.com> -Date: Mon, 23 Nov 2015 13:49:39 +0800 +From 3c4d9dd3571e89545d97c8421fd4cbdbaa6895b8 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 11:09:26 +0800 Subject: [PATCH] libdm-iface: not output error message inside retry loops -This is a workaround to avoid noisy error message being output inside retry loops -in case of remove failure because device busy. But as to the replies from upstream +This is a workaround to avoid noisy error message being output inside +retry loops +in case of remove failure because device busy. But as to the replies +from upstream there may be some issues in udev operations. References: bsc#940298 boo#957059 Signed-off-by: lwang@suse.com +Patch-refreshed-by: Eric Ren <zren@suse.com> --- - libdm/ioctl/libdm-iface.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + libdm/ioctl/libdm-iface.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) -Index: LVM2.2.02.141/libdm/ioctl/libdm-iface.c -=================================================================== ---- LVM2.2.02.141.orig/libdm/ioctl/libdm-iface.c -+++ LVM2.2.02.141/libdm/ioctl/libdm-iface.c +diff --git a/libdm/ioctl/libdm-iface.c b/libdm/ioctl/libdm-iface.c +index cb3e8dc..c1c0771 100644 +--- a/libdm/ioctl/libdm-iface.c ++++ b/libdm/ioctl/libdm-iface.c @@ -62,6 +62,7 @@ */ #define MAPPER_CTRL_MINOR 236 @@ -25,15 +28,17 @@ /* dm major version no for running kernel */ static unsigned _dm_version = DM_VERSION_MAJOR; -@@ -1862,7 +1863,7 @@ static struct dm_ioctl *_do_dm_ioctl(str +@@ -1862,8 +1863,8 @@ static struct dm_ioctl *_do_dm_ioctl(struct dm_task *dmt, unsigned command, dmt->major > 0 && dmt->minor == 0 ? "0" : "", dmt->major > 0 ? ")" : "", strerror(dmt->ioctl_errno)); - else +- log_error("device-mapper: %s ioctl on %s %s%s%.0d%s%.0d%s%s " + else if(errno != EBUSY || retry_repeat_count == DM_IOCTL_RETRIES) - log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " ++ log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " "failed: %s", _cmd_data_v4[dmt->type].name, + dmi->name, dmi->uuid, @@ -1915,7 +1916,6 @@ void dm_task_update_nodes(void) update_devs(); } @@ -42,3 +47,6 @@ #define DM_RETRY_USLEEP_DELAY 200000 int dm_task_get_errno(struct dm_task *dmt) +-- +2.10.2 + Index: lvm2-clvm.changes =================================================================== --- lvm2-clvm.changes (revision 176) +++ lvm2-clvm.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2-clvm.spec =================================================================== --- lvm2-clvm.spec (revision 176) +++ lvm2-clvm.spec (revision 5) @@ -19,8 +19,8 @@ %define dlm_version 3.99.1 %define sanlock_version 3.3.0 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2-clvm Index: lvm2.changes =================================================================== --- lvm2.changes (revision 176) +++ lvm2.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2.spec =================================================================== --- lvm2.spec (revision 176) +++ lvm2.spec (revision 5) @@ -20,8 +20,8 @@ %define applib liblvm2app2_2 %define cmdlib liblvm2cmd2_02 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2 @@ -282,7 +282,6 @@ %{_sbindir}/lvcreate %{_sbindir}/lvdisplay %{_sbindir}/lvextend -%{_sbindir}/lvmchange %{_sbindir}/lvmdiskscan %{_sbindir}/lvmsadc %{_sbindir}/lvmsar @@ -336,7 +335,6 @@ /sbin/lvcreate /sbin/lvdisplay /sbin/lvextend -/sbin/lvmchange /sbin/lvmdiskscan /sbin/lvmsadc /sbin/lvmsar @@ -391,7 +389,6 @@ %{_mandir}/man8/lvm-config.8%{ext_man} %{_mandir}/man8/lvmconfig.8%{ext_man} %{_mandir}/man8/lvm-dumpconfig.8%{ext_man} -%{_mandir}/man8/lvmchange.8%{ext_man} %{_mandir}/man8/lvmconf.8%{ext_man} %{_mandir}/man8/lvmdiskscan.8%{ext_man} %{_mandir}/man8/lvmdump.8%{ext_man} Index: make-mirror-legs-on-different-tag-pvs.patch =================================================================== --- make-mirror-legs-on-different-tag-pvs.patch (revision 176) +++ make-mirror-legs-on-different-tag-pvs.patch (revision 5) @@ -1,10 +1,10 @@ -From 49a5da732c74b8b96bc123a541d590c4fd06d7af Mon Sep 17 00:00:00 2001 -From: Guangliang Zhao <gzhao@suse.com> -Date: Mon, 12 Nov 2012 15:28:11 +0800 -Subject: [PATCH 1/2] mirror: make mirror legs on different tag pvs +From b17f2ae4334f9233a88d7a2fcae325f86691beb0 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:44:30 +0800 +Subject: [PATCH] [PATCH 1/2] mirror: make mirror legs on different tag pvs -The mirror legs could be placed on the PVs(with different -tags) from the other mirror legs with this patch. +The mirror legs could be placed on the PVs(with different tags) +from the other mirror legs with this patch. The lvcreate allocates the replica "randomly" when creating a mirrored logical volume now, so it could happen that both @@ -17,18 +17,19 @@ always be placed on pvs with differnt tags. Signed-off-by: Guangliang Zhao <gzhao@suse.com> +Fix-conflict-by: Eric Ren <zren@suse.com> --- - conf/example.conf.in | 17 +++++++++++++++++ - lib/config/config_settings.h | 3 +++ - lib/config/defaults.h | 1 + - lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ - man/lvcreate.8.in | 4 ++++ - 5 files changed, 60 insertions(+) + conf/example.conf.in | 17 +++++++++++++++++ + lib/config/config_settings.h | 5 ++++- + lib/config/defaults.h | 1 + + lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ + man/lvcreate.8_pregen | 7 +++++++ + 5 files changed, 64 insertions(+), 1 deletion(-) -Index: LVM2.2.02.165/conf/example.conf.in -=================================================================== ---- LVM2.2.02.165.orig/conf/example.conf.in -+++ LVM2.2.02.165/conf/example.conf.in +diff --git a/conf/example.conf.in b/conf/example.conf.in +index 614ce53..b33289f 100644 +--- a/conf/example.conf.in ++++ b/conf/example.conf.in @@ -372,6 +372,23 @@ allocation { # or erased unless the --wipesignatures option is used directly. wipe_signatures_when_zeroing_new_lvs = 1 @@ -53,25 +54,27 @@ # Configuration option allocation/mirror_logs_require_separate_pvs. # Mirror logs and images will always use different PVs. # The default setting changed in version 2.02.85. -Index: LVM2.2.02.165/lib/config/config_settings.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/config_settings.h -+++ LVM2.2.02.165/lib/config/config_settings.h -@@ -473,6 +473,9 @@ cfg(allocation_raid_stripe_all_devices_C +diff --git a/lib/config/config_settings.h b/lib/config/config_settings.h +index b701722..0e5a5e2 100644 +--- a/lib/config/config_settings.h ++++ b/lib/config/config_settings.h +@@ -473,7 +473,10 @@ cfg(allocation_raid_stripe_all_devices_CFG, "raid_stripe_all_devices", allocatio "when the command does not specify the number of stripes to use.\n" "This was the default behaviour until release 2.02.162.\n") +-cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, +cfg(allocation_mirror_legs_require_separate_pvs_CFG, "mirror_legs_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_MIRROR_LEGS_REQUIRE_SEPARATE_PVS, vsn(2, 2, 98), NULL, 0, NULL, + "Mirror legs will always use different PVs.\n") + - cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, ++cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, "Cache pool metadata and data will always use different PVs.\n") -Index: LVM2.2.02.165/lib/config/defaults.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/defaults.h -+++ LVM2.2.02.165/lib/config/defaults.h -@@ -158,6 +158,7 @@ + cfg(allocation_cache_pool_cachemode_CFG, "cache_pool_cachemode", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA | CFG_DEFAULT_COMMENTED, CFG_TYPE_STRING, DEFAULT_CACHE_MODE, vsn(2, 2, 113), NULL, vsn(2, 2, 128), +diff --git a/lib/config/defaults.h b/lib/config/defaults.h +index 2340636..256fab6 100644 +--- a/lib/config/defaults.h ++++ b/lib/config/defaults.h +@@ -159,6 +159,7 @@ #define DEFAULT_MAX_LV 0 #define DEFAULT_ALLOC_POLICY ALLOC_NORMAL #define DEFAULT_MIRROR_LOGS_REQUIRE_SEPARATE_PVS 0 @@ -79,11 +82,11 @@ #define DEFAULT_MAXIMISE_CLING 1 #define DEFAULT_CLUSTERED 0 -Index: LVM2.2.02.165/lib/metadata/lv_manip.c -=================================================================== ---- LVM2.2.02.165.orig/lib/metadata/lv_manip.c -+++ LVM2.2.02.165/lib/metadata/lv_manip.c -@@ -1519,6 +1519,9 @@ struct alloc_handle { +diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c +index 0dfbad4..357e46a 100644 +--- a/lib/metadata/lv_manip.c ++++ b/lib/metadata/lv_manip.c +@@ -1622,6 +1622,9 @@ struct alloc_handle { unsigned maximise_cling; unsigned mirror_logs_separate; /* Force mirror logs on separate PVs? */ @@ -93,7 +96,7 @@ /* * RAID devices require a metadata area that accompanies each -@@ -2633,6 +2636,32 @@ static int _limit_to_one_area_per_tag(st +@@ -2736,6 +2739,32 @@ static int _limit_to_one_area_per_tag(struct alloc_handle *ah, struct alloc_stat } /* @@ -126,7 +129,7 @@ * Returns 1 regardless of whether any space was found, except on error. */ static int _find_some_parallel_space(struct alloc_handle *ah, -@@ -2762,6 +2791,10 @@ static int _find_some_parallel_space(str +@@ -2865,6 +2894,10 @@ static int _find_some_parallel_space(struct alloc_handle *ah, continue; case USE_AREA: @@ -137,7 +140,7 @@ /* * Except with ALLOC_ANYWHERE, replace first area with this * one which is smaller but still big enough. -@@ -3243,6 +3276,7 @@ static struct alloc_handle *_alloc_init( +@@ -3355,6 +3388,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->parity_count = parity_count; ah->region_size = region_size; ah->alloc = alloc; @@ -145,7 +148,7 @@ /* * For the purposes of allocation, area_count and parity_count are -@@ -3254,6 +3288,7 @@ static struct alloc_handle *_alloc_init( +@@ -3366,6 +3400,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->area_multiple = _calc_area_multiple(segtype, area_count + parity_count, stripes); //FIXME: s/mirror_logs_separate/metadata_separate/ so it can be used by others? ah->mirror_logs_separate = find_config_tree_bool(cmd, allocation_mirror_logs_require_separate_pvs_CFG, NULL); @@ -153,18 +156,24 @@ if (mirrors || stripes) total_extents = new_extents; -Index: LVM2.2.02.165/man/lvcreate.8.in -=================================================================== ---- LVM2.2.02.165.orig/man/lvcreate.8.in -+++ LVM2.2.02.165/man/lvcreate.8.in -@@ -418,6 +418,10 @@ Using \fBcore\fP means the mirror is reg - from the first device each time the logical volume is activated, - like after every reboot. +diff --git a/man/lvcreate.8_pregen b/man/lvcreate.8_pregen +index 6663087..c385927 100644 +--- a/man/lvcreate.8_pregen ++++ b/man/lvcreate.8_pregen +@@ -416,6 +416,13 @@ Create a raid10 LV. + [ \fB-I\fP|\fB--stripesize\fP \fISize\fP[k|UNIT] ] + .ad b .br +Every leg of the mirrored logical volume could be placed on the pvs with +same tag, see details(mirror_legs_require_separate_pvs) in lvm.conf. + +.br - Using \fBmirrored\fP will create a persistent log that is itself mirrored. - . - .HP ++Using \fBmirrored\fP will create a persistent log that is itself mirrored. ++. ++.HP + .ad l + [ \fB-R\fP|\fB--regionsize\fP \fISize\fP[m|UNIT] ] + .ad b +-- +2.10.2 + Index: LVM2.2.02.169.tgz =================================================================== Binary file LVM2.2.02.169.tgz (revision 5) added Index: LVM2.2.02.169.tgz.asc =================================================================== --- LVM2.2.02.169.tgz.asc (added) +++ LVM2.2.02.169.tgz.asc (revision 5) @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.14 (GNU/Linux) + +iEYEABECAAYFAljafgEACgkQIoGRwVZ+LBeo5wCfVaQeSN73FPcJf86c3aqrFmZu +Rs0AoJ6l75QbY2V55rhunJvwwDllKlpF +=0Jtt +-----END PGP SIGNATURE----- Index: LVM2.2.02.168.tgz =================================================================== Binary file LVM2.2.02.168.tgz (revision 176) deleted Index: LVM2.2.02.168.tgz.asc =================================================================== --- LVM2.2.02.168.tgz.asc (revision 176) +++ LVM2.2.02.168.tgz.asc (deleted) @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.14 (GNU/Linux) - -iEUEABECAAYFAlg/XqMACgkQIoGRwVZ+LBdjQACVGeU4I+B5ETIhINJeYXy2bLNu -hQCgxEmGwG0ec2frSXhQociTYfT6vVc= -=T5md ------END PGP SIGNATURE----- OBS-URL: https://build.opensuse.org/request/show/487889 OBS-URL: https://build.opensuse.org/package/show/Base:System/lvm2?expand=0&rev=177
2017-04-18 12:55:18 +02:00
--- a/lib/config/defaults.h
+++ b/lib/config/defaults.h
@@ -161,6 +161,7 @@
#define DEFAULT_MAX_LV 0
#define DEFAULT_ALLOC_POLICY ALLOC_NORMAL
#define DEFAULT_MIRROR_LOGS_REQUIRE_SEPARATE_PVS 0
+#define DEFAULT_MIRROR_LEGS_REQUIRE_SEPARATE_PVS 0
#define DEFAULT_MAXIMISE_CLING 1
#define DEFAULT_CLUSTERED 0
Accepting request 487889 from home:jnelson-suse:branches:Base:System - Update device mapper version to 1.02.138, see WHATS_NEW_DM for detailed changelogs * Drop obsolete lvmchange files accordingly - Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch - Refresh make-mirror-legs-on-different-tag-pvs.patch - device-mapper-dmsetup-export.patch - LVM version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM files for detailed changelogs old: Base:System/lvm2 new: home:jnelson-suse:branches:Base:System/lvm2 rev None Index: device-mapper-dmsetup-export.patch =================================================================== --- device-mapper-dmsetup-export.patch (revision 176) +++ device-mapper-dmsetup-export.patch (revision 5) @@ -1,7 +1,20 @@ -Index: LVM2.2.02.139/man/dmsetup.8.in +From b148cb1c1e801455cb774f51eecd57f7e4f98c39 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:58:56 +0800 +Subject: [PATCH] DM: add dmsetup export + +bsc#479104 + +Patch-refreshed-by: Eric Ren <zren@suse.com> +--- + man/dmsetup.8_main | 16 +++- + tools/dmsetup.c | 252 ++++++++++++++++++++++++++++++++++++++++++++++++++++- + 2 files changed, 266 insertions(+), 2 deletions(-) + +Index: LVM2.2.02.169/man/dmsetup.8_main =================================================================== ---- LVM2.2.02.139.orig/man/dmsetup.8.in -+++ LVM2.2.02.139/man/dmsetup.8.in +--- LVM2.2.02.169.orig/man/dmsetup.8_main ++++ LVM2.2.02.169/man/dmsetup.8_main @@ -97,7 +97,15 @@ dmsetup \(em low level logical volume ma .. .CMD_LOAD @@ -23,20 +36,20 @@ See below for more information on the table format. . .HP -+.BR \-\-export ++.BR --export +.IR export +.br +Outputs information in key/value format to be imported by other programs. +. +.HP - .BR \-\-udevcookie + .BR --udevcookie .IR cookie .br -Index: LVM2.2.02.139/tools/dmsetup.c +Index: LVM2.2.02.169/tools/dmsetup.c =================================================================== ---- LVM2.2.02.139.orig/tools/dmsetup.c -+++ LVM2.2.02.139/tools/dmsetup.c -@@ -2177,6 +2177,129 @@ out: +--- LVM2.2.02.169.orig/tools/dmsetup.c ++++ LVM2.2.02.169/tools/dmsetup.c +@@ -2231,6 +2231,129 @@ out: return r; } @@ -166,11 +179,16 @@ /* Show target names and their version numbers */ static int _targets(CMD_ARGS) { -@@ -5138,6 +5261,7 @@ static struct command _dmsetup_commands[ - {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, - {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, - {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +@@ -5904,7 +6027,11 @@ static struct command _dmsetup_commands[ + {"deps", "[-o <options>] [<device>...]", 0, -1, 1, 0, _deps}, + {"stats", "<command> [<options>] [<device>...]", 1, -1, 1, 1, _stats}, + {"status", "[<device>...] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +- {"table", "[<device>...] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, ++ {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, ++ {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, + {"export", "[<device>]", 0, -1, 1, 0, _export}, - {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, {"wait", "<device> [<event_nr>] [--noflush]", 0, 2, 0, 0, _wait}, - {"mknodes", "[<device>]", 0, -1, 1, 0, _mknodes}, + {"mknodes", "[<device>...]", 0, -1, 1, 0, _mknodes}, + {"mangle", "[<device>...]", 0, -1, 1, 0, _mangle}, Index: device-mapper.changes =================================================================== --- device-mapper.changes (revision 176) +++ device-mapper.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: device-mapper.spec =================================================================== --- device-mapper.spec (revision 176) +++ device-mapper.spec (revision 5) @@ -19,8 +19,8 @@ %define libname libdevmapper1_03 %define libname_event libdevmapper-event1_03 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: device-mapper Index: libdm-iface-not-output-error-message-inside-retry-loop.patch =================================================================== --- libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 176) +++ libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 5) @@ -1,22 +1,25 @@ -From a70f17fd1dc9a8cccefb946c3501d5cb6f2766bb Mon Sep 17 00:00:00 2001 -From: Liuhua Wang <lwang@suse.com> -Date: Mon, 23 Nov 2015 13:49:39 +0800 +From 3c4d9dd3571e89545d97c8421fd4cbdbaa6895b8 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 11:09:26 +0800 Subject: [PATCH] libdm-iface: not output error message inside retry loops -This is a workaround to avoid noisy error message being output inside retry loops -in case of remove failure because device busy. But as to the replies from upstream +This is a workaround to avoid noisy error message being output inside +retry loops +in case of remove failure because device busy. But as to the replies +from upstream there may be some issues in udev operations. References: bsc#940298 boo#957059 Signed-off-by: lwang@suse.com +Patch-refreshed-by: Eric Ren <zren@suse.com> --- - libdm/ioctl/libdm-iface.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + libdm/ioctl/libdm-iface.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) -Index: LVM2.2.02.141/libdm/ioctl/libdm-iface.c -=================================================================== ---- LVM2.2.02.141.orig/libdm/ioctl/libdm-iface.c -+++ LVM2.2.02.141/libdm/ioctl/libdm-iface.c +diff --git a/libdm/ioctl/libdm-iface.c b/libdm/ioctl/libdm-iface.c +index cb3e8dc..c1c0771 100644 +--- a/libdm/ioctl/libdm-iface.c ++++ b/libdm/ioctl/libdm-iface.c @@ -62,6 +62,7 @@ */ #define MAPPER_CTRL_MINOR 236 @@ -25,15 +28,17 @@ /* dm major version no for running kernel */ static unsigned _dm_version = DM_VERSION_MAJOR; -@@ -1862,7 +1863,7 @@ static struct dm_ioctl *_do_dm_ioctl(str +@@ -1862,8 +1863,8 @@ static struct dm_ioctl *_do_dm_ioctl(struct dm_task *dmt, unsigned command, dmt->major > 0 && dmt->minor == 0 ? "0" : "", dmt->major > 0 ? ")" : "", strerror(dmt->ioctl_errno)); - else +- log_error("device-mapper: %s ioctl on %s %s%s%.0d%s%.0d%s%s " + else if(errno != EBUSY || retry_repeat_count == DM_IOCTL_RETRIES) - log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " ++ log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " "failed: %s", _cmd_data_v4[dmt->type].name, + dmi->name, dmi->uuid, @@ -1915,7 +1916,6 @@ void dm_task_update_nodes(void) update_devs(); } @@ -42,3 +47,6 @@ #define DM_RETRY_USLEEP_DELAY 200000 int dm_task_get_errno(struct dm_task *dmt) +-- +2.10.2 + Index: lvm2-clvm.changes =================================================================== --- lvm2-clvm.changes (revision 176) +++ lvm2-clvm.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2-clvm.spec =================================================================== --- lvm2-clvm.spec (revision 176) +++ lvm2-clvm.spec (revision 5) @@ -19,8 +19,8 @@ %define dlm_version 3.99.1 %define sanlock_version 3.3.0 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2-clvm Index: lvm2.changes =================================================================== --- lvm2.changes (revision 176) +++ lvm2.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2.spec =================================================================== --- lvm2.spec (revision 176) +++ lvm2.spec (revision 5) @@ -20,8 +20,8 @@ %define applib liblvm2app2_2 %define cmdlib liblvm2cmd2_02 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2 @@ -282,7 +282,6 @@ %{_sbindir}/lvcreate %{_sbindir}/lvdisplay %{_sbindir}/lvextend -%{_sbindir}/lvmchange %{_sbindir}/lvmdiskscan %{_sbindir}/lvmsadc %{_sbindir}/lvmsar @@ -336,7 +335,6 @@ /sbin/lvcreate /sbin/lvdisplay /sbin/lvextend -/sbin/lvmchange /sbin/lvmdiskscan /sbin/lvmsadc /sbin/lvmsar @@ -391,7 +389,6 @@ %{_mandir}/man8/lvm-config.8%{ext_man} %{_mandir}/man8/lvmconfig.8%{ext_man} %{_mandir}/man8/lvm-dumpconfig.8%{ext_man} -%{_mandir}/man8/lvmchange.8%{ext_man} %{_mandir}/man8/lvmconf.8%{ext_man} %{_mandir}/man8/lvmdiskscan.8%{ext_man} %{_mandir}/man8/lvmdump.8%{ext_man} Index: make-mirror-legs-on-different-tag-pvs.patch =================================================================== --- make-mirror-legs-on-different-tag-pvs.patch (revision 176) +++ make-mirror-legs-on-different-tag-pvs.patch (revision 5) @@ -1,10 +1,10 @@ -From 49a5da732c74b8b96bc123a541d590c4fd06d7af Mon Sep 17 00:00:00 2001 -From: Guangliang Zhao <gzhao@suse.com> -Date: Mon, 12 Nov 2012 15:28:11 +0800 -Subject: [PATCH 1/2] mirror: make mirror legs on different tag pvs +From b17f2ae4334f9233a88d7a2fcae325f86691beb0 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:44:30 +0800 +Subject: [PATCH] [PATCH 1/2] mirror: make mirror legs on different tag pvs -The mirror legs could be placed on the PVs(with different -tags) from the other mirror legs with this patch. +The mirror legs could be placed on the PVs(with different tags) +from the other mirror legs with this patch. The lvcreate allocates the replica "randomly" when creating a mirrored logical volume now, so it could happen that both @@ -17,18 +17,19 @@ always be placed on pvs with differnt tags. Signed-off-by: Guangliang Zhao <gzhao@suse.com> +Fix-conflict-by: Eric Ren <zren@suse.com> --- - conf/example.conf.in | 17 +++++++++++++++++ - lib/config/config_settings.h | 3 +++ - lib/config/defaults.h | 1 + - lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ - man/lvcreate.8.in | 4 ++++ - 5 files changed, 60 insertions(+) + conf/example.conf.in | 17 +++++++++++++++++ + lib/config/config_settings.h | 5 ++++- + lib/config/defaults.h | 1 + + lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ + man/lvcreate.8_pregen | 7 +++++++ + 5 files changed, 64 insertions(+), 1 deletion(-) -Index: LVM2.2.02.165/conf/example.conf.in -=================================================================== ---- LVM2.2.02.165.orig/conf/example.conf.in -+++ LVM2.2.02.165/conf/example.conf.in +diff --git a/conf/example.conf.in b/conf/example.conf.in +index 614ce53..b33289f 100644 +--- a/conf/example.conf.in ++++ b/conf/example.conf.in @@ -372,6 +372,23 @@ allocation { # or erased unless the --wipesignatures option is used directly. wipe_signatures_when_zeroing_new_lvs = 1 @@ -53,25 +54,27 @@ # Configuration option allocation/mirror_logs_require_separate_pvs. # Mirror logs and images will always use different PVs. # The default setting changed in version 2.02.85. -Index: LVM2.2.02.165/lib/config/config_settings.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/config_settings.h -+++ LVM2.2.02.165/lib/config/config_settings.h -@@ -473,6 +473,9 @@ cfg(allocation_raid_stripe_all_devices_C +diff --git a/lib/config/config_settings.h b/lib/config/config_settings.h +index b701722..0e5a5e2 100644 +--- a/lib/config/config_settings.h ++++ b/lib/config/config_settings.h +@@ -473,7 +473,10 @@ cfg(allocation_raid_stripe_all_devices_CFG, "raid_stripe_all_devices", allocatio "when the command does not specify the number of stripes to use.\n" "This was the default behaviour until release 2.02.162.\n") +-cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, +cfg(allocation_mirror_legs_require_separate_pvs_CFG, "mirror_legs_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_MIRROR_LEGS_REQUIRE_SEPARATE_PVS, vsn(2, 2, 98), NULL, 0, NULL, + "Mirror legs will always use different PVs.\n") + - cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, ++cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, "Cache pool metadata and data will always use different PVs.\n") -Index: LVM2.2.02.165/lib/config/defaults.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/defaults.h -+++ LVM2.2.02.165/lib/config/defaults.h -@@ -158,6 +158,7 @@ + cfg(allocation_cache_pool_cachemode_CFG, "cache_pool_cachemode", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA | CFG_DEFAULT_COMMENTED, CFG_TYPE_STRING, DEFAULT_CACHE_MODE, vsn(2, 2, 113), NULL, vsn(2, 2, 128), +diff --git a/lib/config/defaults.h b/lib/config/defaults.h +index 2340636..256fab6 100644 +--- a/lib/config/defaults.h ++++ b/lib/config/defaults.h +@@ -159,6 +159,7 @@ #define DEFAULT_MAX_LV 0 #define DEFAULT_ALLOC_POLICY ALLOC_NORMAL #define DEFAULT_MIRROR_LOGS_REQUIRE_SEPARATE_PVS 0 @@ -79,11 +82,11 @@ #define DEFAULT_MAXIMISE_CLING 1 #define DEFAULT_CLUSTERED 0 -Index: LVM2.2.02.165/lib/metadata/lv_manip.c -=================================================================== ---- LVM2.2.02.165.orig/lib/metadata/lv_manip.c -+++ LVM2.2.02.165/lib/metadata/lv_manip.c -@@ -1519,6 +1519,9 @@ struct alloc_handle { +diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c +index 0dfbad4..357e46a 100644 +--- a/lib/metadata/lv_manip.c ++++ b/lib/metadata/lv_manip.c +@@ -1622,6 +1622,9 @@ struct alloc_handle { unsigned maximise_cling; unsigned mirror_logs_separate; /* Force mirror logs on separate PVs? */ @@ -93,7 +96,7 @@ /* * RAID devices require a metadata area that accompanies each -@@ -2633,6 +2636,32 @@ static int _limit_to_one_area_per_tag(st +@@ -2736,6 +2739,32 @@ static int _limit_to_one_area_per_tag(struct alloc_handle *ah, struct alloc_stat } /* @@ -126,7 +129,7 @@ * Returns 1 regardless of whether any space was found, except on error. */ static int _find_some_parallel_space(struct alloc_handle *ah, -@@ -2762,6 +2791,10 @@ static int _find_some_parallel_space(str +@@ -2865,6 +2894,10 @@ static int _find_some_parallel_space(struct alloc_handle *ah, continue; case USE_AREA: @@ -137,7 +140,7 @@ /* * Except with ALLOC_ANYWHERE, replace first area with this * one which is smaller but still big enough. -@@ -3243,6 +3276,7 @@ static struct alloc_handle *_alloc_init( +@@ -3355,6 +3388,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->parity_count = parity_count; ah->region_size = region_size; ah->alloc = alloc; @@ -145,7 +148,7 @@ /* * For the purposes of allocation, area_count and parity_count are -@@ -3254,6 +3288,7 @@ static struct alloc_handle *_alloc_init( +@@ -3366,6 +3400,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->area_multiple = _calc_area_multiple(segtype, area_count + parity_count, stripes); //FIXME: s/mirror_logs_separate/metadata_separate/ so it can be used by others? ah->mirror_logs_separate = find_config_tree_bool(cmd, allocation_mirror_logs_require_separate_pvs_CFG, NULL); @@ -153,18 +156,24 @@ if (mirrors || stripes) total_extents = new_extents; -Index: LVM2.2.02.165/man/lvcreate.8.in -=================================================================== ---- LVM2.2.02.165.orig/man/lvcreate.8.in -+++ LVM2.2.02.165/man/lvcreate.8.in -@@ -418,6 +418,10 @@ Using \fBcore\fP means the mirror is reg - from the first device each time the logical volume is activated, - like after every reboot. +diff --git a/man/lvcreate.8_pregen b/man/lvcreate.8_pregen +index 6663087..c385927 100644 +--- a/man/lvcreate.8_pregen ++++ b/man/lvcreate.8_pregen +@@ -416,6 +416,13 @@ Create a raid10 LV. + [ \fB-I\fP|\fB--stripesize\fP \fISize\fP[k|UNIT] ] + .ad b .br +Every leg of the mirrored logical volume could be placed on the pvs with +same tag, see details(mirror_legs_require_separate_pvs) in lvm.conf. + +.br - Using \fBmirrored\fP will create a persistent log that is itself mirrored. - . - .HP ++Using \fBmirrored\fP will create a persistent log that is itself mirrored. ++. ++.HP + .ad l + [ \fB-R\fP|\fB--regionsize\fP \fISize\fP[m|UNIT] ] + .ad b +-- +2.10.2 + Index: LVM2.2.02.169.tgz =================================================================== Binary file LVM2.2.02.169.tgz (revision 5) added Index: LVM2.2.02.169.tgz.asc =================================================================== --- LVM2.2.02.169.tgz.asc (added) +++ LVM2.2.02.169.tgz.asc (revision 5) @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.14 (GNU/Linux) + +iEYEABECAAYFAljafgEACgkQIoGRwVZ+LBeo5wCfVaQeSN73FPcJf86c3aqrFmZu +Rs0AoJ6l75QbY2V55rhunJvwwDllKlpF +=0Jtt +-----END PGP SIGNATURE----- Index: LVM2.2.02.168.tgz =================================================================== Binary file LVM2.2.02.168.tgz (revision 176) deleted Index: LVM2.2.02.168.tgz.asc =================================================================== --- LVM2.2.02.168.tgz.asc (revision 176) +++ LVM2.2.02.168.tgz.asc (deleted) @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.14 (GNU/Linux) - -iEUEABECAAYFAlg/XqMACgkQIoGRwVZ+LBdjQACVGeU4I+B5ETIhINJeYXy2bLNu -hQCgxEmGwG0ec2frSXhQociTYfT6vVc= -=T5md ------END PGP SIGNATURE----- OBS-URL: https://build.opensuse.org/request/show/487889 OBS-URL: https://build.opensuse.org/package/show/Base:System/lvm2?expand=0&rev=177
2017-04-18 12:55:18 +02:00
diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c
index f75cf51..8dc90b4 100644
Accepting request 487889 from home:jnelson-suse:branches:Base:System - Update device mapper version to 1.02.138, see WHATS_NEW_DM for detailed changelogs * Drop obsolete lvmchange files accordingly - Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch - Refresh make-mirror-legs-on-different-tag-pvs.patch - device-mapper-dmsetup-export.patch - LVM version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM files for detailed changelogs old: Base:System/lvm2 new: home:jnelson-suse:branches:Base:System/lvm2 rev None Index: device-mapper-dmsetup-export.patch =================================================================== --- device-mapper-dmsetup-export.patch (revision 176) +++ device-mapper-dmsetup-export.patch (revision 5) @@ -1,7 +1,20 @@ -Index: LVM2.2.02.139/man/dmsetup.8.in +From b148cb1c1e801455cb774f51eecd57f7e4f98c39 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:58:56 +0800 +Subject: [PATCH] DM: add dmsetup export + +bsc#479104 + +Patch-refreshed-by: Eric Ren <zren@suse.com> +--- + man/dmsetup.8_main | 16 +++- + tools/dmsetup.c | 252 ++++++++++++++++++++++++++++++++++++++++++++++++++++- + 2 files changed, 266 insertions(+), 2 deletions(-) + +Index: LVM2.2.02.169/man/dmsetup.8_main =================================================================== ---- LVM2.2.02.139.orig/man/dmsetup.8.in -+++ LVM2.2.02.139/man/dmsetup.8.in +--- LVM2.2.02.169.orig/man/dmsetup.8_main ++++ LVM2.2.02.169/man/dmsetup.8_main @@ -97,7 +97,15 @@ dmsetup \(em low level logical volume ma .. .CMD_LOAD @@ -23,20 +36,20 @@ See below for more information on the table format. . .HP -+.BR \-\-export ++.BR --export +.IR export +.br +Outputs information in key/value format to be imported by other programs. +. +.HP - .BR \-\-udevcookie + .BR --udevcookie .IR cookie .br -Index: LVM2.2.02.139/tools/dmsetup.c +Index: LVM2.2.02.169/tools/dmsetup.c =================================================================== ---- LVM2.2.02.139.orig/tools/dmsetup.c -+++ LVM2.2.02.139/tools/dmsetup.c -@@ -2177,6 +2177,129 @@ out: +--- LVM2.2.02.169.orig/tools/dmsetup.c ++++ LVM2.2.02.169/tools/dmsetup.c +@@ -2231,6 +2231,129 @@ out: return r; } @@ -166,11 +179,16 @@ /* Show target names and their version numbers */ static int _targets(CMD_ARGS) { -@@ -5138,6 +5261,7 @@ static struct command _dmsetup_commands[ - {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, - {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, - {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +@@ -5904,7 +6027,11 @@ static struct command _dmsetup_commands[ + {"deps", "[-o <options>] [<device>...]", 0, -1, 1, 0, _deps}, + {"stats", "<command> [<options>] [<device>...]", 1, -1, 1, 1, _stats}, + {"status", "[<device>...] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +- {"table", "[<device>...] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, ++ {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, ++ {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, + {"export", "[<device>]", 0, -1, 1, 0, _export}, - {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, {"wait", "<device> [<event_nr>] [--noflush]", 0, 2, 0, 0, _wait}, - {"mknodes", "[<device>]", 0, -1, 1, 0, _mknodes}, + {"mknodes", "[<device>...]", 0, -1, 1, 0, _mknodes}, + {"mangle", "[<device>...]", 0, -1, 1, 0, _mangle}, Index: device-mapper.changes =================================================================== --- device-mapper.changes (revision 176) +++ device-mapper.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: device-mapper.spec =================================================================== --- device-mapper.spec (revision 176) +++ device-mapper.spec (revision 5) @@ -19,8 +19,8 @@ %define libname libdevmapper1_03 %define libname_event libdevmapper-event1_03 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: device-mapper Index: libdm-iface-not-output-error-message-inside-retry-loop.patch =================================================================== --- libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 176) +++ libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 5) @@ -1,22 +1,25 @@ -From a70f17fd1dc9a8cccefb946c3501d5cb6f2766bb Mon Sep 17 00:00:00 2001 -From: Liuhua Wang <lwang@suse.com> -Date: Mon, 23 Nov 2015 13:49:39 +0800 +From 3c4d9dd3571e89545d97c8421fd4cbdbaa6895b8 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 11:09:26 +0800 Subject: [PATCH] libdm-iface: not output error message inside retry loops -This is a workaround to avoid noisy error message being output inside retry loops -in case of remove failure because device busy. But as to the replies from upstream +This is a workaround to avoid noisy error message being output inside +retry loops +in case of remove failure because device busy. But as to the replies +from upstream there may be some issues in udev operations. References: bsc#940298 boo#957059 Signed-off-by: lwang@suse.com +Patch-refreshed-by: Eric Ren <zren@suse.com> --- - libdm/ioctl/libdm-iface.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + libdm/ioctl/libdm-iface.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) -Index: LVM2.2.02.141/libdm/ioctl/libdm-iface.c -=================================================================== ---- LVM2.2.02.141.orig/libdm/ioctl/libdm-iface.c -+++ LVM2.2.02.141/libdm/ioctl/libdm-iface.c +diff --git a/libdm/ioctl/libdm-iface.c b/libdm/ioctl/libdm-iface.c +index cb3e8dc..c1c0771 100644 +--- a/libdm/ioctl/libdm-iface.c ++++ b/libdm/ioctl/libdm-iface.c @@ -62,6 +62,7 @@ */ #define MAPPER_CTRL_MINOR 236 @@ -25,15 +28,17 @@ /* dm major version no for running kernel */ static unsigned _dm_version = DM_VERSION_MAJOR; -@@ -1862,7 +1863,7 @@ static struct dm_ioctl *_do_dm_ioctl(str +@@ -1862,8 +1863,8 @@ static struct dm_ioctl *_do_dm_ioctl(struct dm_task *dmt, unsigned command, dmt->major > 0 && dmt->minor == 0 ? "0" : "", dmt->major > 0 ? ")" : "", strerror(dmt->ioctl_errno)); - else +- log_error("device-mapper: %s ioctl on %s %s%s%.0d%s%.0d%s%s " + else if(errno != EBUSY || retry_repeat_count == DM_IOCTL_RETRIES) - log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " ++ log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " "failed: %s", _cmd_data_v4[dmt->type].name, + dmi->name, dmi->uuid, @@ -1915,7 +1916,6 @@ void dm_task_update_nodes(void) update_devs(); } @@ -42,3 +47,6 @@ #define DM_RETRY_USLEEP_DELAY 200000 int dm_task_get_errno(struct dm_task *dmt) +-- +2.10.2 + Index: lvm2-clvm.changes =================================================================== --- lvm2-clvm.changes (revision 176) +++ lvm2-clvm.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2-clvm.spec =================================================================== --- lvm2-clvm.spec (revision 176) +++ lvm2-clvm.spec (revision 5) @@ -19,8 +19,8 @@ %define dlm_version 3.99.1 %define sanlock_version 3.3.0 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2-clvm Index: lvm2.changes =================================================================== --- lvm2.changes (revision 176) +++ lvm2.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2.spec =================================================================== --- lvm2.spec (revision 176) +++ lvm2.spec (revision 5) @@ -20,8 +20,8 @@ %define applib liblvm2app2_2 %define cmdlib liblvm2cmd2_02 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2 @@ -282,7 +282,6 @@ %{_sbindir}/lvcreate %{_sbindir}/lvdisplay %{_sbindir}/lvextend -%{_sbindir}/lvmchange %{_sbindir}/lvmdiskscan %{_sbindir}/lvmsadc %{_sbindir}/lvmsar @@ -336,7 +335,6 @@ /sbin/lvcreate /sbin/lvdisplay /sbin/lvextend -/sbin/lvmchange /sbin/lvmdiskscan /sbin/lvmsadc /sbin/lvmsar @@ -391,7 +389,6 @@ %{_mandir}/man8/lvm-config.8%{ext_man} %{_mandir}/man8/lvmconfig.8%{ext_man} %{_mandir}/man8/lvm-dumpconfig.8%{ext_man} -%{_mandir}/man8/lvmchange.8%{ext_man} %{_mandir}/man8/lvmconf.8%{ext_man} %{_mandir}/man8/lvmdiskscan.8%{ext_man} %{_mandir}/man8/lvmdump.8%{ext_man} Index: make-mirror-legs-on-different-tag-pvs.patch =================================================================== --- make-mirror-legs-on-different-tag-pvs.patch (revision 176) +++ make-mirror-legs-on-different-tag-pvs.patch (revision 5) @@ -1,10 +1,10 @@ -From 49a5da732c74b8b96bc123a541d590c4fd06d7af Mon Sep 17 00:00:00 2001 -From: Guangliang Zhao <gzhao@suse.com> -Date: Mon, 12 Nov 2012 15:28:11 +0800 -Subject: [PATCH 1/2] mirror: make mirror legs on different tag pvs +From b17f2ae4334f9233a88d7a2fcae325f86691beb0 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:44:30 +0800 +Subject: [PATCH] [PATCH 1/2] mirror: make mirror legs on different tag pvs -The mirror legs could be placed on the PVs(with different -tags) from the other mirror legs with this patch. +The mirror legs could be placed on the PVs(with different tags) +from the other mirror legs with this patch. The lvcreate allocates the replica "randomly" when creating a mirrored logical volume now, so it could happen that both @@ -17,18 +17,19 @@ always be placed on pvs with differnt tags. Signed-off-by: Guangliang Zhao <gzhao@suse.com> +Fix-conflict-by: Eric Ren <zren@suse.com> --- - conf/example.conf.in | 17 +++++++++++++++++ - lib/config/config_settings.h | 3 +++ - lib/config/defaults.h | 1 + - lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ - man/lvcreate.8.in | 4 ++++ - 5 files changed, 60 insertions(+) + conf/example.conf.in | 17 +++++++++++++++++ + lib/config/config_settings.h | 5 ++++- + lib/config/defaults.h | 1 + + lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ + man/lvcreate.8_pregen | 7 +++++++ + 5 files changed, 64 insertions(+), 1 deletion(-) -Index: LVM2.2.02.165/conf/example.conf.in -=================================================================== ---- LVM2.2.02.165.orig/conf/example.conf.in -+++ LVM2.2.02.165/conf/example.conf.in +diff --git a/conf/example.conf.in b/conf/example.conf.in +index 614ce53..b33289f 100644 +--- a/conf/example.conf.in ++++ b/conf/example.conf.in @@ -372,6 +372,23 @@ allocation { # or erased unless the --wipesignatures option is used directly. wipe_signatures_when_zeroing_new_lvs = 1 @@ -53,25 +54,27 @@ # Configuration option allocation/mirror_logs_require_separate_pvs. # Mirror logs and images will always use different PVs. # The default setting changed in version 2.02.85. -Index: LVM2.2.02.165/lib/config/config_settings.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/config_settings.h -+++ LVM2.2.02.165/lib/config/config_settings.h -@@ -473,6 +473,9 @@ cfg(allocation_raid_stripe_all_devices_C +diff --git a/lib/config/config_settings.h b/lib/config/config_settings.h +index b701722..0e5a5e2 100644 +--- a/lib/config/config_settings.h ++++ b/lib/config/config_settings.h +@@ -473,7 +473,10 @@ cfg(allocation_raid_stripe_all_devices_CFG, "raid_stripe_all_devices", allocatio "when the command does not specify the number of stripes to use.\n" "This was the default behaviour until release 2.02.162.\n") +-cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, +cfg(allocation_mirror_legs_require_separate_pvs_CFG, "mirror_legs_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_MIRROR_LEGS_REQUIRE_SEPARATE_PVS, vsn(2, 2, 98), NULL, 0, NULL, + "Mirror legs will always use different PVs.\n") + - cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, ++cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, "Cache pool metadata and data will always use different PVs.\n") -Index: LVM2.2.02.165/lib/config/defaults.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/defaults.h -+++ LVM2.2.02.165/lib/config/defaults.h -@@ -158,6 +158,7 @@ + cfg(allocation_cache_pool_cachemode_CFG, "cache_pool_cachemode", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA | CFG_DEFAULT_COMMENTED, CFG_TYPE_STRING, DEFAULT_CACHE_MODE, vsn(2, 2, 113), NULL, vsn(2, 2, 128), +diff --git a/lib/config/defaults.h b/lib/config/defaults.h +index 2340636..256fab6 100644 +--- a/lib/config/defaults.h ++++ b/lib/config/defaults.h +@@ -159,6 +159,7 @@ #define DEFAULT_MAX_LV 0 #define DEFAULT_ALLOC_POLICY ALLOC_NORMAL #define DEFAULT_MIRROR_LOGS_REQUIRE_SEPARATE_PVS 0 @@ -79,11 +82,11 @@ #define DEFAULT_MAXIMISE_CLING 1 #define DEFAULT_CLUSTERED 0 -Index: LVM2.2.02.165/lib/metadata/lv_manip.c -=================================================================== ---- LVM2.2.02.165.orig/lib/metadata/lv_manip.c -+++ LVM2.2.02.165/lib/metadata/lv_manip.c -@@ -1519,6 +1519,9 @@ struct alloc_handle { +diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c +index 0dfbad4..357e46a 100644 +--- a/lib/metadata/lv_manip.c ++++ b/lib/metadata/lv_manip.c +@@ -1622,6 +1622,9 @@ struct alloc_handle { unsigned maximise_cling; unsigned mirror_logs_separate; /* Force mirror logs on separate PVs? */ @@ -93,7 +96,7 @@ /* * RAID devices require a metadata area that accompanies each -@@ -2633,6 +2636,32 @@ static int _limit_to_one_area_per_tag(st +@@ -2736,6 +2739,32 @@ static int _limit_to_one_area_per_tag(struct alloc_handle *ah, struct alloc_stat } /* @@ -126,7 +129,7 @@ * Returns 1 regardless of whether any space was found, except on error. */ static int _find_some_parallel_space(struct alloc_handle *ah, -@@ -2762,6 +2791,10 @@ static int _find_some_parallel_space(str +@@ -2865,6 +2894,10 @@ static int _find_some_parallel_space(struct alloc_handle *ah, continue; case USE_AREA: @@ -137,7 +140,7 @@ /* * Except with ALLOC_ANYWHERE, replace first area with this * one which is smaller but still big enough. -@@ -3243,6 +3276,7 @@ static struct alloc_handle *_alloc_init( +@@ -3355,6 +3388,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->parity_count = parity_count; ah->region_size = region_size; ah->alloc = alloc; @@ -145,7 +148,7 @@ /* * For the purposes of allocation, area_count and parity_count are -@@ -3254,6 +3288,7 @@ static struct alloc_handle *_alloc_init( +@@ -3366,6 +3400,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->area_multiple = _calc_area_multiple(segtype, area_count + parity_count, stripes); //FIXME: s/mirror_logs_separate/metadata_separate/ so it can be used by others? ah->mirror_logs_separate = find_config_tree_bool(cmd, allocation_mirror_logs_require_separate_pvs_CFG, NULL); @@ -153,18 +156,24 @@ if (mirrors || stripes) total_extents = new_extents; -Index: LVM2.2.02.165/man/lvcreate.8.in -=================================================================== ---- LVM2.2.02.165.orig/man/lvcreate.8.in -+++ LVM2.2.02.165/man/lvcreate.8.in -@@ -418,6 +418,10 @@ Using \fBcore\fP means the mirror is reg - from the first device each time the logical volume is activated, - like after every reboot. +diff --git a/man/lvcreate.8_pregen b/man/lvcreate.8_pregen +index 6663087..c385927 100644 +--- a/man/lvcreate.8_pregen ++++ b/man/lvcreate.8_pregen +@@ -416,6 +416,13 @@ Create a raid10 LV. + [ \fB-I\fP|\fB--stripesize\fP \fISize\fP[k|UNIT] ] + .ad b .br +Every leg of the mirrored logical volume could be placed on the pvs with +same tag, see details(mirror_legs_require_separate_pvs) in lvm.conf. + +.br - Using \fBmirrored\fP will create a persistent log that is itself mirrored. - . - .HP ++Using \fBmirrored\fP will create a persistent log that is itself mirrored. ++. ++.HP + .ad l + [ \fB-R\fP|\fB--regionsize\fP \fISize\fP[m|UNIT] ] + .ad b +-- +2.10.2 + Index: LVM2.2.02.169.tgz =================================================================== Binary file LVM2.2.02.169.tgz (revision 5) added Index: LVM2.2.02.169.tgz.asc =================================================================== --- LVM2.2.02.169.tgz.asc (added) +++ LVM2.2.02.169.tgz.asc (revision 5) @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.14 (GNU/Linux) + +iEYEABECAAYFAljafgEACgkQIoGRwVZ+LBeo5wCfVaQeSN73FPcJf86c3aqrFmZu +Rs0AoJ6l75QbY2V55rhunJvwwDllKlpF +=0Jtt +-----END PGP SIGNATURE----- Index: LVM2.2.02.168.tgz =================================================================== Binary file LVM2.2.02.168.tgz (revision 176) deleted Index: LVM2.2.02.168.tgz.asc =================================================================== --- LVM2.2.02.168.tgz.asc (revision 176) +++ LVM2.2.02.168.tgz.asc (deleted) @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.14 (GNU/Linux) - -iEUEABECAAYFAlg/XqMACgkQIoGRwVZ+LBdjQACVGeU4I+B5ETIhINJeYXy2bLNu -hQCgxEmGwG0ec2frSXhQociTYfT6vVc= -=T5md ------END PGP SIGNATURE----- OBS-URL: https://build.opensuse.org/request/show/487889 OBS-URL: https://build.opensuse.org/package/show/Base:System/lvm2?expand=0&rev=177
2017-04-18 12:55:18 +02:00
--- a/lib/metadata/lv_manip.c
+++ b/lib/metadata/lv_manip.c
@@ -1622,6 +1622,9 @@ struct alloc_handle {
unsigned maximise_cling;
unsigned mirror_logs_separate; /* Force mirror logs on separate PVs? */
+ unsigned mirror_legs_separate; /* Force mirror *legs* on separate PVs*/
+
+ const struct segment_type *segtype;
/*
* RAID devices require a metadata area that accompanies each
Accepting request 487889 from home:jnelson-suse:branches:Base:System - Update device mapper version to 1.02.138, see WHATS_NEW_DM for detailed changelogs * Drop obsolete lvmchange files accordingly - Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch - Refresh make-mirror-legs-on-different-tag-pvs.patch - device-mapper-dmsetup-export.patch - LVM version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM files for detailed changelogs old: Base:System/lvm2 new: home:jnelson-suse:branches:Base:System/lvm2 rev None Index: device-mapper-dmsetup-export.patch =================================================================== --- device-mapper-dmsetup-export.patch (revision 176) +++ device-mapper-dmsetup-export.patch (revision 5) @@ -1,7 +1,20 @@ -Index: LVM2.2.02.139/man/dmsetup.8.in +From b148cb1c1e801455cb774f51eecd57f7e4f98c39 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:58:56 +0800 +Subject: [PATCH] DM: add dmsetup export + +bsc#479104 + +Patch-refreshed-by: Eric Ren <zren@suse.com> +--- + man/dmsetup.8_main | 16 +++- + tools/dmsetup.c | 252 ++++++++++++++++++++++++++++++++++++++++++++++++++++- + 2 files changed, 266 insertions(+), 2 deletions(-) + +Index: LVM2.2.02.169/man/dmsetup.8_main =================================================================== ---- LVM2.2.02.139.orig/man/dmsetup.8.in -+++ LVM2.2.02.139/man/dmsetup.8.in +--- LVM2.2.02.169.orig/man/dmsetup.8_main ++++ LVM2.2.02.169/man/dmsetup.8_main @@ -97,7 +97,15 @@ dmsetup \(em low level logical volume ma .. .CMD_LOAD @@ -23,20 +36,20 @@ See below for more information on the table format. . .HP -+.BR \-\-export ++.BR --export +.IR export +.br +Outputs information in key/value format to be imported by other programs. +. +.HP - .BR \-\-udevcookie + .BR --udevcookie .IR cookie .br -Index: LVM2.2.02.139/tools/dmsetup.c +Index: LVM2.2.02.169/tools/dmsetup.c =================================================================== ---- LVM2.2.02.139.orig/tools/dmsetup.c -+++ LVM2.2.02.139/tools/dmsetup.c -@@ -2177,6 +2177,129 @@ out: +--- LVM2.2.02.169.orig/tools/dmsetup.c ++++ LVM2.2.02.169/tools/dmsetup.c +@@ -2231,6 +2231,129 @@ out: return r; } @@ -166,11 +179,16 @@ /* Show target names and their version numbers */ static int _targets(CMD_ARGS) { -@@ -5138,6 +5261,7 @@ static struct command _dmsetup_commands[ - {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, - {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, - {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +@@ -5904,7 +6027,11 @@ static struct command _dmsetup_commands[ + {"deps", "[-o <options>] [<device>...]", 0, -1, 1, 0, _deps}, + {"stats", "<command> [<options>] [<device>...]", 1, -1, 1, 1, _stats}, + {"status", "[<device>...] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +- {"table", "[<device>...] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, ++ {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, ++ {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, + {"export", "[<device>]", 0, -1, 1, 0, _export}, - {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, {"wait", "<device> [<event_nr>] [--noflush]", 0, 2, 0, 0, _wait}, - {"mknodes", "[<device>]", 0, -1, 1, 0, _mknodes}, + {"mknodes", "[<device>...]", 0, -1, 1, 0, _mknodes}, + {"mangle", "[<device>...]", 0, -1, 1, 0, _mangle}, Index: device-mapper.changes =================================================================== --- device-mapper.changes (revision 176) +++ device-mapper.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: device-mapper.spec =================================================================== --- device-mapper.spec (revision 176) +++ device-mapper.spec (revision 5) @@ -19,8 +19,8 @@ %define libname libdevmapper1_03 %define libname_event libdevmapper-event1_03 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: device-mapper Index: libdm-iface-not-output-error-message-inside-retry-loop.patch =================================================================== --- libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 176) +++ libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 5) @@ -1,22 +1,25 @@ -From a70f17fd1dc9a8cccefb946c3501d5cb6f2766bb Mon Sep 17 00:00:00 2001 -From: Liuhua Wang <lwang@suse.com> -Date: Mon, 23 Nov 2015 13:49:39 +0800 +From 3c4d9dd3571e89545d97c8421fd4cbdbaa6895b8 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 11:09:26 +0800 Subject: [PATCH] libdm-iface: not output error message inside retry loops -This is a workaround to avoid noisy error message being output inside retry loops -in case of remove failure because device busy. But as to the replies from upstream +This is a workaround to avoid noisy error message being output inside +retry loops +in case of remove failure because device busy. But as to the replies +from upstream there may be some issues in udev operations. References: bsc#940298 boo#957059 Signed-off-by: lwang@suse.com +Patch-refreshed-by: Eric Ren <zren@suse.com> --- - libdm/ioctl/libdm-iface.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + libdm/ioctl/libdm-iface.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) -Index: LVM2.2.02.141/libdm/ioctl/libdm-iface.c -=================================================================== ---- LVM2.2.02.141.orig/libdm/ioctl/libdm-iface.c -+++ LVM2.2.02.141/libdm/ioctl/libdm-iface.c +diff --git a/libdm/ioctl/libdm-iface.c b/libdm/ioctl/libdm-iface.c +index cb3e8dc..c1c0771 100644 +--- a/libdm/ioctl/libdm-iface.c ++++ b/libdm/ioctl/libdm-iface.c @@ -62,6 +62,7 @@ */ #define MAPPER_CTRL_MINOR 236 @@ -25,15 +28,17 @@ /* dm major version no for running kernel */ static unsigned _dm_version = DM_VERSION_MAJOR; -@@ -1862,7 +1863,7 @@ static struct dm_ioctl *_do_dm_ioctl(str +@@ -1862,8 +1863,8 @@ static struct dm_ioctl *_do_dm_ioctl(struct dm_task *dmt, unsigned command, dmt->major > 0 && dmt->minor == 0 ? "0" : "", dmt->major > 0 ? ")" : "", strerror(dmt->ioctl_errno)); - else +- log_error("device-mapper: %s ioctl on %s %s%s%.0d%s%.0d%s%s " + else if(errno != EBUSY || retry_repeat_count == DM_IOCTL_RETRIES) - log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " ++ log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " "failed: %s", _cmd_data_v4[dmt->type].name, + dmi->name, dmi->uuid, @@ -1915,7 +1916,6 @@ void dm_task_update_nodes(void) update_devs(); } @@ -42,3 +47,6 @@ #define DM_RETRY_USLEEP_DELAY 200000 int dm_task_get_errno(struct dm_task *dmt) +-- +2.10.2 + Index: lvm2-clvm.changes =================================================================== --- lvm2-clvm.changes (revision 176) +++ lvm2-clvm.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2-clvm.spec =================================================================== --- lvm2-clvm.spec (revision 176) +++ lvm2-clvm.spec (revision 5) @@ -19,8 +19,8 @@ %define dlm_version 3.99.1 %define sanlock_version 3.3.0 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2-clvm Index: lvm2.changes =================================================================== --- lvm2.changes (revision 176) +++ lvm2.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2.spec =================================================================== --- lvm2.spec (revision 176) +++ lvm2.spec (revision 5) @@ -20,8 +20,8 @@ %define applib liblvm2app2_2 %define cmdlib liblvm2cmd2_02 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2 @@ -282,7 +282,6 @@ %{_sbindir}/lvcreate %{_sbindir}/lvdisplay %{_sbindir}/lvextend -%{_sbindir}/lvmchange %{_sbindir}/lvmdiskscan %{_sbindir}/lvmsadc %{_sbindir}/lvmsar @@ -336,7 +335,6 @@ /sbin/lvcreate /sbin/lvdisplay /sbin/lvextend -/sbin/lvmchange /sbin/lvmdiskscan /sbin/lvmsadc /sbin/lvmsar @@ -391,7 +389,6 @@ %{_mandir}/man8/lvm-config.8%{ext_man} %{_mandir}/man8/lvmconfig.8%{ext_man} %{_mandir}/man8/lvm-dumpconfig.8%{ext_man} -%{_mandir}/man8/lvmchange.8%{ext_man} %{_mandir}/man8/lvmconf.8%{ext_man} %{_mandir}/man8/lvmdiskscan.8%{ext_man} %{_mandir}/man8/lvmdump.8%{ext_man} Index: make-mirror-legs-on-different-tag-pvs.patch =================================================================== --- make-mirror-legs-on-different-tag-pvs.patch (revision 176) +++ make-mirror-legs-on-different-tag-pvs.patch (revision 5) @@ -1,10 +1,10 @@ -From 49a5da732c74b8b96bc123a541d590c4fd06d7af Mon Sep 17 00:00:00 2001 -From: Guangliang Zhao <gzhao@suse.com> -Date: Mon, 12 Nov 2012 15:28:11 +0800 -Subject: [PATCH 1/2] mirror: make mirror legs on different tag pvs +From b17f2ae4334f9233a88d7a2fcae325f86691beb0 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:44:30 +0800 +Subject: [PATCH] [PATCH 1/2] mirror: make mirror legs on different tag pvs -The mirror legs could be placed on the PVs(with different -tags) from the other mirror legs with this patch. +The mirror legs could be placed on the PVs(with different tags) +from the other mirror legs with this patch. The lvcreate allocates the replica "randomly" when creating a mirrored logical volume now, so it could happen that both @@ -17,18 +17,19 @@ always be placed on pvs with differnt tags. Signed-off-by: Guangliang Zhao <gzhao@suse.com> +Fix-conflict-by: Eric Ren <zren@suse.com> --- - conf/example.conf.in | 17 +++++++++++++++++ - lib/config/config_settings.h | 3 +++ - lib/config/defaults.h | 1 + - lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ - man/lvcreate.8.in | 4 ++++ - 5 files changed, 60 insertions(+) + conf/example.conf.in | 17 +++++++++++++++++ + lib/config/config_settings.h | 5 ++++- + lib/config/defaults.h | 1 + + lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ + man/lvcreate.8_pregen | 7 +++++++ + 5 files changed, 64 insertions(+), 1 deletion(-) -Index: LVM2.2.02.165/conf/example.conf.in -=================================================================== ---- LVM2.2.02.165.orig/conf/example.conf.in -+++ LVM2.2.02.165/conf/example.conf.in +diff --git a/conf/example.conf.in b/conf/example.conf.in +index 614ce53..b33289f 100644 +--- a/conf/example.conf.in ++++ b/conf/example.conf.in @@ -372,6 +372,23 @@ allocation { # or erased unless the --wipesignatures option is used directly. wipe_signatures_when_zeroing_new_lvs = 1 @@ -53,25 +54,27 @@ # Configuration option allocation/mirror_logs_require_separate_pvs. # Mirror logs and images will always use different PVs. # The default setting changed in version 2.02.85. -Index: LVM2.2.02.165/lib/config/config_settings.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/config_settings.h -+++ LVM2.2.02.165/lib/config/config_settings.h -@@ -473,6 +473,9 @@ cfg(allocation_raid_stripe_all_devices_C +diff --git a/lib/config/config_settings.h b/lib/config/config_settings.h +index b701722..0e5a5e2 100644 +--- a/lib/config/config_settings.h ++++ b/lib/config/config_settings.h +@@ -473,7 +473,10 @@ cfg(allocation_raid_stripe_all_devices_CFG, "raid_stripe_all_devices", allocatio "when the command does not specify the number of stripes to use.\n" "This was the default behaviour until release 2.02.162.\n") +-cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, +cfg(allocation_mirror_legs_require_separate_pvs_CFG, "mirror_legs_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_MIRROR_LEGS_REQUIRE_SEPARATE_PVS, vsn(2, 2, 98), NULL, 0, NULL, + "Mirror legs will always use different PVs.\n") + - cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, ++cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, "Cache pool metadata and data will always use different PVs.\n") -Index: LVM2.2.02.165/lib/config/defaults.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/defaults.h -+++ LVM2.2.02.165/lib/config/defaults.h -@@ -158,6 +158,7 @@ + cfg(allocation_cache_pool_cachemode_CFG, "cache_pool_cachemode", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA | CFG_DEFAULT_COMMENTED, CFG_TYPE_STRING, DEFAULT_CACHE_MODE, vsn(2, 2, 113), NULL, vsn(2, 2, 128), +diff --git a/lib/config/defaults.h b/lib/config/defaults.h +index 2340636..256fab6 100644 +--- a/lib/config/defaults.h ++++ b/lib/config/defaults.h +@@ -159,6 +159,7 @@ #define DEFAULT_MAX_LV 0 #define DEFAULT_ALLOC_POLICY ALLOC_NORMAL #define DEFAULT_MIRROR_LOGS_REQUIRE_SEPARATE_PVS 0 @@ -79,11 +82,11 @@ #define DEFAULT_MAXIMISE_CLING 1 #define DEFAULT_CLUSTERED 0 -Index: LVM2.2.02.165/lib/metadata/lv_manip.c -=================================================================== ---- LVM2.2.02.165.orig/lib/metadata/lv_manip.c -+++ LVM2.2.02.165/lib/metadata/lv_manip.c -@@ -1519,6 +1519,9 @@ struct alloc_handle { +diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c +index 0dfbad4..357e46a 100644 +--- a/lib/metadata/lv_manip.c ++++ b/lib/metadata/lv_manip.c +@@ -1622,6 +1622,9 @@ struct alloc_handle { unsigned maximise_cling; unsigned mirror_logs_separate; /* Force mirror logs on separate PVs? */ @@ -93,7 +96,7 @@ /* * RAID devices require a metadata area that accompanies each -@@ -2633,6 +2636,32 @@ static int _limit_to_one_area_per_tag(st +@@ -2736,6 +2739,32 @@ static int _limit_to_one_area_per_tag(struct alloc_handle *ah, struct alloc_stat } /* @@ -126,7 +129,7 @@ * Returns 1 regardless of whether any space was found, except on error. */ static int _find_some_parallel_space(struct alloc_handle *ah, -@@ -2762,6 +2791,10 @@ static int _find_some_parallel_space(str +@@ -2865,6 +2894,10 @@ static int _find_some_parallel_space(struct alloc_handle *ah, continue; case USE_AREA: @@ -137,7 +140,7 @@ /* * Except with ALLOC_ANYWHERE, replace first area with this * one which is smaller but still big enough. -@@ -3243,6 +3276,7 @@ static struct alloc_handle *_alloc_init( +@@ -3355,6 +3388,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->parity_count = parity_count; ah->region_size = region_size; ah->alloc = alloc; @@ -145,7 +148,7 @@ /* * For the purposes of allocation, area_count and parity_count are -@@ -3254,6 +3288,7 @@ static struct alloc_handle *_alloc_init( +@@ -3366,6 +3400,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->area_multiple = _calc_area_multiple(segtype, area_count + parity_count, stripes); //FIXME: s/mirror_logs_separate/metadata_separate/ so it can be used by others? ah->mirror_logs_separate = find_config_tree_bool(cmd, allocation_mirror_logs_require_separate_pvs_CFG, NULL); @@ -153,18 +156,24 @@ if (mirrors || stripes) total_extents = new_extents; -Index: LVM2.2.02.165/man/lvcreate.8.in -=================================================================== ---- LVM2.2.02.165.orig/man/lvcreate.8.in -+++ LVM2.2.02.165/man/lvcreate.8.in -@@ -418,6 +418,10 @@ Using \fBcore\fP means the mirror is reg - from the first device each time the logical volume is activated, - like after every reboot. +diff --git a/man/lvcreate.8_pregen b/man/lvcreate.8_pregen +index 6663087..c385927 100644 +--- a/man/lvcreate.8_pregen ++++ b/man/lvcreate.8_pregen +@@ -416,6 +416,13 @@ Create a raid10 LV. + [ \fB-I\fP|\fB--stripesize\fP \fISize\fP[k|UNIT] ] + .ad b .br +Every leg of the mirrored logical volume could be placed on the pvs with +same tag, see details(mirror_legs_require_separate_pvs) in lvm.conf. + +.br - Using \fBmirrored\fP will create a persistent log that is itself mirrored. - . - .HP ++Using \fBmirrored\fP will create a persistent log that is itself mirrored. ++. ++.HP + .ad l + [ \fB-R\fP|\fB--regionsize\fP \fISize\fP[m|UNIT] ] + .ad b +-- +2.10.2 + Index: LVM2.2.02.169.tgz =================================================================== Binary file LVM2.2.02.169.tgz (revision 5) added Index: LVM2.2.02.169.tgz.asc =================================================================== --- LVM2.2.02.169.tgz.asc (added) +++ LVM2.2.02.169.tgz.asc (revision 5) @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.14 (GNU/Linux) + +iEYEABECAAYFAljafgEACgkQIoGRwVZ+LBeo5wCfVaQeSN73FPcJf86c3aqrFmZu +Rs0AoJ6l75QbY2V55rhunJvwwDllKlpF +=0Jtt +-----END PGP SIGNATURE----- Index: LVM2.2.02.168.tgz =================================================================== Binary file LVM2.2.02.168.tgz (revision 176) deleted Index: LVM2.2.02.168.tgz.asc =================================================================== --- LVM2.2.02.168.tgz.asc (revision 176) +++ LVM2.2.02.168.tgz.asc (deleted) @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.14 (GNU/Linux) - -iEUEABECAAYFAlg/XqMACgkQIoGRwVZ+LBdjQACVGeU4I+B5ETIhINJeYXy2bLNu -hQCgxEmGwG0ec2frSXhQociTYfT6vVc= -=T5md ------END PGP SIGNATURE----- OBS-URL: https://build.opensuse.org/request/show/487889 OBS-URL: https://build.opensuse.org/package/show/Base:System/lvm2?expand=0&rev=177
2017-04-18 12:55:18 +02:00
@@ -2736,6 +2739,32 @@ static int _limit_to_one_area_per_tag(struct alloc_handle *ah, struct alloc_stat
}
/*
+ * Return -1 if we don't need check tags, or there aren't any areas in alloc_status
+ * have the same tag with pva, the index otherwise.
+ */
+static int check_areas_separate_tags(struct alloc_handle *ah,
+ struct alloc_state *alloc_state,
+ unsigned ix_start,
+ unsigned ix_end,
+ struct pv_area *pva)
+{
+ int i;
+
+ if (!segtype_is_mirrored(ah->segtype) ||
+ alloc_state->allocated ||
+ !ah->mirror_legs_separate ||
+ !ah->cling_tag_list_cn)
+ return -1;
+
+ for (i = ix_start; i < ix_end; i++)
+ if(_pvs_have_matching_tag(ah->cling_tag_list_cn,
+ alloc_state->areas[i].pva->map->pv,
Accepting request 426139 from home:scarabeus_iv:branches:Base:System - This is sync commit from Leap/SLE12 only - Add patch pvcreate-enhance-the-error-message.patch bsc#960744 - Modify GPL-2.0 to GPL-2.0+ and LGPL-2.1 to LGPL-2.1+ to avoid license conflict with thin-provisioning-tools which is using GPL-3.0 - Also contains fix for bsc#969310 - Fix clvmd.ocf and cmirrord to remove "-d" option for cmirrod (bsc#971334) - Fix clvmd.ocf to add lvmconf --enable-cluster before start daemon when locking_type is not 3 or use_lvmetad is 1 in setting (bsc#970439) - Modified spec to enable blkid-wiping (fate#319908) - Fix clvmd binary not found in case that users still use RA from ocf:lvm2:clvm (bsc#980200) Add sbindir=$HA_SBIN_DIR for clvmd.ocf and cmirrord.ocf - The bsc#979635 wnd bsc#991181 as fixed in past thanks to proper /usr migration code - Modified raid10_segtype_default from "mirror" to "raid10"(bsc#982329) - Remove lvm2-clvmd/cmirrord.service and related activation services from %service_add _pre/post/preun/postun because we start clvmd /clmirrord and activate via pacemaker and RA. (bsc#980296) - Lvchange improve refresh by trying to deactivate snapshot thinLV in case it's preventing merge process change integrated upstream. (bsc#984321) - Fixed in past bsc#992843 - Fixed by upstream bsc#984321 - Fixed by upstream bsc#970943 - 69-dm-lvm-metad.rules: Do not process rules for multipath devices (bsc#bsc#990538, bsc#986734) Add: 69-dm-lvm-metad.rules-Do-not-process-rules-for-multi.patch - Rewrite patches to include patch header: OBS-URL: https://build.opensuse.org/request/show/426139 OBS-URL: https://build.opensuse.org/package/show/Base:System/lvm2?expand=0&rev=158
2016-09-14 11:43:37 +02:00
+ pva->map->pv, 0))
+ return i;
+ return -1;
+}
+
+/*
* Returns 1 regardless of whether any space was found, except on error.
*/
static int _find_some_parallel_space(struct alloc_handle *ah,
Accepting request 487889 from home:jnelson-suse:branches:Base:System - Update device mapper version to 1.02.138, see WHATS_NEW_DM for detailed changelogs * Drop obsolete lvmchange files accordingly - Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch - Refresh make-mirror-legs-on-different-tag-pvs.patch - device-mapper-dmsetup-export.patch - LVM version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM files for detailed changelogs old: Base:System/lvm2 new: home:jnelson-suse:branches:Base:System/lvm2 rev None Index: device-mapper-dmsetup-export.patch =================================================================== --- device-mapper-dmsetup-export.patch (revision 176) +++ device-mapper-dmsetup-export.patch (revision 5) @@ -1,7 +1,20 @@ -Index: LVM2.2.02.139/man/dmsetup.8.in +From b148cb1c1e801455cb774f51eecd57f7e4f98c39 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:58:56 +0800 +Subject: [PATCH] DM: add dmsetup export + +bsc#479104 + +Patch-refreshed-by: Eric Ren <zren@suse.com> +--- + man/dmsetup.8_main | 16 +++- + tools/dmsetup.c | 252 ++++++++++++++++++++++++++++++++++++++++++++++++++++- + 2 files changed, 266 insertions(+), 2 deletions(-) + +Index: LVM2.2.02.169/man/dmsetup.8_main =================================================================== ---- LVM2.2.02.139.orig/man/dmsetup.8.in -+++ LVM2.2.02.139/man/dmsetup.8.in +--- LVM2.2.02.169.orig/man/dmsetup.8_main ++++ LVM2.2.02.169/man/dmsetup.8_main @@ -97,7 +97,15 @@ dmsetup \(em low level logical volume ma .. .CMD_LOAD @@ -23,20 +36,20 @@ See below for more information on the table format. . .HP -+.BR \-\-export ++.BR --export +.IR export +.br +Outputs information in key/value format to be imported by other programs. +. +.HP - .BR \-\-udevcookie + .BR --udevcookie .IR cookie .br -Index: LVM2.2.02.139/tools/dmsetup.c +Index: LVM2.2.02.169/tools/dmsetup.c =================================================================== ---- LVM2.2.02.139.orig/tools/dmsetup.c -+++ LVM2.2.02.139/tools/dmsetup.c -@@ -2177,6 +2177,129 @@ out: +--- LVM2.2.02.169.orig/tools/dmsetup.c ++++ LVM2.2.02.169/tools/dmsetup.c +@@ -2231,6 +2231,129 @@ out: return r; } @@ -166,11 +179,16 @@ /* Show target names and their version numbers */ static int _targets(CMD_ARGS) { -@@ -5138,6 +5261,7 @@ static struct command _dmsetup_commands[ - {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, - {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, - {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +@@ -5904,7 +6027,11 @@ static struct command _dmsetup_commands[ + {"deps", "[-o <options>] [<device>...]", 0, -1, 1, 0, _deps}, + {"stats", "<command> [<options>] [<device>...]", 1, -1, 1, 1, _stats}, + {"status", "[<device>...] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +- {"table", "[<device>...] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, ++ {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, ++ {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, + {"export", "[<device>]", 0, -1, 1, 0, _export}, - {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, {"wait", "<device> [<event_nr>] [--noflush]", 0, 2, 0, 0, _wait}, - {"mknodes", "[<device>]", 0, -1, 1, 0, _mknodes}, + {"mknodes", "[<device>...]", 0, -1, 1, 0, _mknodes}, + {"mangle", "[<device>...]", 0, -1, 1, 0, _mangle}, Index: device-mapper.changes =================================================================== --- device-mapper.changes (revision 176) +++ device-mapper.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: device-mapper.spec =================================================================== --- device-mapper.spec (revision 176) +++ device-mapper.spec (revision 5) @@ -19,8 +19,8 @@ %define libname libdevmapper1_03 %define libname_event libdevmapper-event1_03 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: device-mapper Index: libdm-iface-not-output-error-message-inside-retry-loop.patch =================================================================== --- libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 176) +++ libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 5) @@ -1,22 +1,25 @@ -From a70f17fd1dc9a8cccefb946c3501d5cb6f2766bb Mon Sep 17 00:00:00 2001 -From: Liuhua Wang <lwang@suse.com> -Date: Mon, 23 Nov 2015 13:49:39 +0800 +From 3c4d9dd3571e89545d97c8421fd4cbdbaa6895b8 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 11:09:26 +0800 Subject: [PATCH] libdm-iface: not output error message inside retry loops -This is a workaround to avoid noisy error message being output inside retry loops -in case of remove failure because device busy. But as to the replies from upstream +This is a workaround to avoid noisy error message being output inside +retry loops +in case of remove failure because device busy. But as to the replies +from upstream there may be some issues in udev operations. References: bsc#940298 boo#957059 Signed-off-by: lwang@suse.com +Patch-refreshed-by: Eric Ren <zren@suse.com> --- - libdm/ioctl/libdm-iface.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + libdm/ioctl/libdm-iface.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) -Index: LVM2.2.02.141/libdm/ioctl/libdm-iface.c -=================================================================== ---- LVM2.2.02.141.orig/libdm/ioctl/libdm-iface.c -+++ LVM2.2.02.141/libdm/ioctl/libdm-iface.c +diff --git a/libdm/ioctl/libdm-iface.c b/libdm/ioctl/libdm-iface.c +index cb3e8dc..c1c0771 100644 +--- a/libdm/ioctl/libdm-iface.c ++++ b/libdm/ioctl/libdm-iface.c @@ -62,6 +62,7 @@ */ #define MAPPER_CTRL_MINOR 236 @@ -25,15 +28,17 @@ /* dm major version no for running kernel */ static unsigned _dm_version = DM_VERSION_MAJOR; -@@ -1862,7 +1863,7 @@ static struct dm_ioctl *_do_dm_ioctl(str +@@ -1862,8 +1863,8 @@ static struct dm_ioctl *_do_dm_ioctl(struct dm_task *dmt, unsigned command, dmt->major > 0 && dmt->minor == 0 ? "0" : "", dmt->major > 0 ? ")" : "", strerror(dmt->ioctl_errno)); - else +- log_error("device-mapper: %s ioctl on %s %s%s%.0d%s%.0d%s%s " + else if(errno != EBUSY || retry_repeat_count == DM_IOCTL_RETRIES) - log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " ++ log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " "failed: %s", _cmd_data_v4[dmt->type].name, + dmi->name, dmi->uuid, @@ -1915,7 +1916,6 @@ void dm_task_update_nodes(void) update_devs(); } @@ -42,3 +47,6 @@ #define DM_RETRY_USLEEP_DELAY 200000 int dm_task_get_errno(struct dm_task *dmt) +-- +2.10.2 + Index: lvm2-clvm.changes =================================================================== --- lvm2-clvm.changes (revision 176) +++ lvm2-clvm.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2-clvm.spec =================================================================== --- lvm2-clvm.spec (revision 176) +++ lvm2-clvm.spec (revision 5) @@ -19,8 +19,8 @@ %define dlm_version 3.99.1 %define sanlock_version 3.3.0 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2-clvm Index: lvm2.changes =================================================================== --- lvm2.changes (revision 176) +++ lvm2.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2.spec =================================================================== --- lvm2.spec (revision 176) +++ lvm2.spec (revision 5) @@ -20,8 +20,8 @@ %define applib liblvm2app2_2 %define cmdlib liblvm2cmd2_02 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2 @@ -282,7 +282,6 @@ %{_sbindir}/lvcreate %{_sbindir}/lvdisplay %{_sbindir}/lvextend -%{_sbindir}/lvmchange %{_sbindir}/lvmdiskscan %{_sbindir}/lvmsadc %{_sbindir}/lvmsar @@ -336,7 +335,6 @@ /sbin/lvcreate /sbin/lvdisplay /sbin/lvextend -/sbin/lvmchange /sbin/lvmdiskscan /sbin/lvmsadc /sbin/lvmsar @@ -391,7 +389,6 @@ %{_mandir}/man8/lvm-config.8%{ext_man} %{_mandir}/man8/lvmconfig.8%{ext_man} %{_mandir}/man8/lvm-dumpconfig.8%{ext_man} -%{_mandir}/man8/lvmchange.8%{ext_man} %{_mandir}/man8/lvmconf.8%{ext_man} %{_mandir}/man8/lvmdiskscan.8%{ext_man} %{_mandir}/man8/lvmdump.8%{ext_man} Index: make-mirror-legs-on-different-tag-pvs.patch =================================================================== --- make-mirror-legs-on-different-tag-pvs.patch (revision 176) +++ make-mirror-legs-on-different-tag-pvs.patch (revision 5) @@ -1,10 +1,10 @@ -From 49a5da732c74b8b96bc123a541d590c4fd06d7af Mon Sep 17 00:00:00 2001 -From: Guangliang Zhao <gzhao@suse.com> -Date: Mon, 12 Nov 2012 15:28:11 +0800 -Subject: [PATCH 1/2] mirror: make mirror legs on different tag pvs +From b17f2ae4334f9233a88d7a2fcae325f86691beb0 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:44:30 +0800 +Subject: [PATCH] [PATCH 1/2] mirror: make mirror legs on different tag pvs -The mirror legs could be placed on the PVs(with different -tags) from the other mirror legs with this patch. +The mirror legs could be placed on the PVs(with different tags) +from the other mirror legs with this patch. The lvcreate allocates the replica "randomly" when creating a mirrored logical volume now, so it could happen that both @@ -17,18 +17,19 @@ always be placed on pvs with differnt tags. Signed-off-by: Guangliang Zhao <gzhao@suse.com> +Fix-conflict-by: Eric Ren <zren@suse.com> --- - conf/example.conf.in | 17 +++++++++++++++++ - lib/config/config_settings.h | 3 +++ - lib/config/defaults.h | 1 + - lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ - man/lvcreate.8.in | 4 ++++ - 5 files changed, 60 insertions(+) + conf/example.conf.in | 17 +++++++++++++++++ + lib/config/config_settings.h | 5 ++++- + lib/config/defaults.h | 1 + + lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ + man/lvcreate.8_pregen | 7 +++++++ + 5 files changed, 64 insertions(+), 1 deletion(-) -Index: LVM2.2.02.165/conf/example.conf.in -=================================================================== ---- LVM2.2.02.165.orig/conf/example.conf.in -+++ LVM2.2.02.165/conf/example.conf.in +diff --git a/conf/example.conf.in b/conf/example.conf.in +index 614ce53..b33289f 100644 +--- a/conf/example.conf.in ++++ b/conf/example.conf.in @@ -372,6 +372,23 @@ allocation { # or erased unless the --wipesignatures option is used directly. wipe_signatures_when_zeroing_new_lvs = 1 @@ -53,25 +54,27 @@ # Configuration option allocation/mirror_logs_require_separate_pvs. # Mirror logs and images will always use different PVs. # The default setting changed in version 2.02.85. -Index: LVM2.2.02.165/lib/config/config_settings.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/config_settings.h -+++ LVM2.2.02.165/lib/config/config_settings.h -@@ -473,6 +473,9 @@ cfg(allocation_raid_stripe_all_devices_C +diff --git a/lib/config/config_settings.h b/lib/config/config_settings.h +index b701722..0e5a5e2 100644 +--- a/lib/config/config_settings.h ++++ b/lib/config/config_settings.h +@@ -473,7 +473,10 @@ cfg(allocation_raid_stripe_all_devices_CFG, "raid_stripe_all_devices", allocatio "when the command does not specify the number of stripes to use.\n" "This was the default behaviour until release 2.02.162.\n") +-cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, +cfg(allocation_mirror_legs_require_separate_pvs_CFG, "mirror_legs_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_MIRROR_LEGS_REQUIRE_SEPARATE_PVS, vsn(2, 2, 98), NULL, 0, NULL, + "Mirror legs will always use different PVs.\n") + - cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, ++cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, "Cache pool metadata and data will always use different PVs.\n") -Index: LVM2.2.02.165/lib/config/defaults.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/defaults.h -+++ LVM2.2.02.165/lib/config/defaults.h -@@ -158,6 +158,7 @@ + cfg(allocation_cache_pool_cachemode_CFG, "cache_pool_cachemode", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA | CFG_DEFAULT_COMMENTED, CFG_TYPE_STRING, DEFAULT_CACHE_MODE, vsn(2, 2, 113), NULL, vsn(2, 2, 128), +diff --git a/lib/config/defaults.h b/lib/config/defaults.h +index 2340636..256fab6 100644 +--- a/lib/config/defaults.h ++++ b/lib/config/defaults.h +@@ -159,6 +159,7 @@ #define DEFAULT_MAX_LV 0 #define DEFAULT_ALLOC_POLICY ALLOC_NORMAL #define DEFAULT_MIRROR_LOGS_REQUIRE_SEPARATE_PVS 0 @@ -79,11 +82,11 @@ #define DEFAULT_MAXIMISE_CLING 1 #define DEFAULT_CLUSTERED 0 -Index: LVM2.2.02.165/lib/metadata/lv_manip.c -=================================================================== ---- LVM2.2.02.165.orig/lib/metadata/lv_manip.c -+++ LVM2.2.02.165/lib/metadata/lv_manip.c -@@ -1519,6 +1519,9 @@ struct alloc_handle { +diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c +index 0dfbad4..357e46a 100644 +--- a/lib/metadata/lv_manip.c ++++ b/lib/metadata/lv_manip.c +@@ -1622,6 +1622,9 @@ struct alloc_handle { unsigned maximise_cling; unsigned mirror_logs_separate; /* Force mirror logs on separate PVs? */ @@ -93,7 +96,7 @@ /* * RAID devices require a metadata area that accompanies each -@@ -2633,6 +2636,32 @@ static int _limit_to_one_area_per_tag(st +@@ -2736,6 +2739,32 @@ static int _limit_to_one_area_per_tag(struct alloc_handle *ah, struct alloc_stat } /* @@ -126,7 +129,7 @@ * Returns 1 regardless of whether any space was found, except on error. */ static int _find_some_parallel_space(struct alloc_handle *ah, -@@ -2762,6 +2791,10 @@ static int _find_some_parallel_space(str +@@ -2865,6 +2894,10 @@ static int _find_some_parallel_space(struct alloc_handle *ah, continue; case USE_AREA: @@ -137,7 +140,7 @@ /* * Except with ALLOC_ANYWHERE, replace first area with this * one which is smaller but still big enough. -@@ -3243,6 +3276,7 @@ static struct alloc_handle *_alloc_init( +@@ -3355,6 +3388,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->parity_count = parity_count; ah->region_size = region_size; ah->alloc = alloc; @@ -145,7 +148,7 @@ /* * For the purposes of allocation, area_count and parity_count are -@@ -3254,6 +3288,7 @@ static struct alloc_handle *_alloc_init( +@@ -3366,6 +3400,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->area_multiple = _calc_area_multiple(segtype, area_count + parity_count, stripes); //FIXME: s/mirror_logs_separate/metadata_separate/ so it can be used by others? ah->mirror_logs_separate = find_config_tree_bool(cmd, allocation_mirror_logs_require_separate_pvs_CFG, NULL); @@ -153,18 +156,24 @@ if (mirrors || stripes) total_extents = new_extents; -Index: LVM2.2.02.165/man/lvcreate.8.in -=================================================================== ---- LVM2.2.02.165.orig/man/lvcreate.8.in -+++ LVM2.2.02.165/man/lvcreate.8.in -@@ -418,6 +418,10 @@ Using \fBcore\fP means the mirror is reg - from the first device each time the logical volume is activated, - like after every reboot. +diff --git a/man/lvcreate.8_pregen b/man/lvcreate.8_pregen +index 6663087..c385927 100644 +--- a/man/lvcreate.8_pregen ++++ b/man/lvcreate.8_pregen +@@ -416,6 +416,13 @@ Create a raid10 LV. + [ \fB-I\fP|\fB--stripesize\fP \fISize\fP[k|UNIT] ] + .ad b .br +Every leg of the mirrored logical volume could be placed on the pvs with +same tag, see details(mirror_legs_require_separate_pvs) in lvm.conf. + +.br - Using \fBmirrored\fP will create a persistent log that is itself mirrored. - . - .HP ++Using \fBmirrored\fP will create a persistent log that is itself mirrored. ++. ++.HP + .ad l + [ \fB-R\fP|\fB--regionsize\fP \fISize\fP[m|UNIT] ] + .ad b +-- +2.10.2 + Index: LVM2.2.02.169.tgz =================================================================== Binary file LVM2.2.02.169.tgz (revision 5) added Index: LVM2.2.02.169.tgz.asc =================================================================== --- LVM2.2.02.169.tgz.asc (added) +++ LVM2.2.02.169.tgz.asc (revision 5) @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.14 (GNU/Linux) + +iEYEABECAAYFAljafgEACgkQIoGRwVZ+LBeo5wCfVaQeSN73FPcJf86c3aqrFmZu +Rs0AoJ6l75QbY2V55rhunJvwwDllKlpF +=0Jtt +-----END PGP SIGNATURE----- Index: LVM2.2.02.168.tgz =================================================================== Binary file LVM2.2.02.168.tgz (revision 176) deleted Index: LVM2.2.02.168.tgz.asc =================================================================== --- LVM2.2.02.168.tgz.asc (revision 176) +++ LVM2.2.02.168.tgz.asc (deleted) @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.14 (GNU/Linux) - -iEUEABECAAYFAlg/XqMACgkQIoGRwVZ+LBdjQACVGeU4I+B5ETIhINJeYXy2bLNu -hQCgxEmGwG0ec2frSXhQociTYfT6vVc= -=T5md ------END PGP SIGNATURE----- OBS-URL: https://build.opensuse.org/request/show/487889 OBS-URL: https://build.opensuse.org/package/show/Base:System/lvm2?expand=0&rev=177
2017-04-18 12:55:18 +02:00
@@ -2865,6 +2894,10 @@ static int _find_some_parallel_space(struct alloc_handle *ah,
continue;
case USE_AREA:
+ if(check_areas_separate_tags(ah, alloc_state, alloc_state->num_positional_areas,
+ ix + alloc_state->num_positional_areas, pva) >= 0)
+ goto next_pv;
+
/*
* Except with ALLOC_ANYWHERE, replace first area with this
* one which is smaller but still big enough.
Accepting request 487889 from home:jnelson-suse:branches:Base:System - Update device mapper version to 1.02.138, see WHATS_NEW_DM for detailed changelogs * Drop obsolete lvmchange files accordingly - Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch - Refresh make-mirror-legs-on-different-tag-pvs.patch - device-mapper-dmsetup-export.patch - LVM version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM files for detailed changelogs old: Base:System/lvm2 new: home:jnelson-suse:branches:Base:System/lvm2 rev None Index: device-mapper-dmsetup-export.patch =================================================================== --- device-mapper-dmsetup-export.patch (revision 176) +++ device-mapper-dmsetup-export.patch (revision 5) @@ -1,7 +1,20 @@ -Index: LVM2.2.02.139/man/dmsetup.8.in +From b148cb1c1e801455cb774f51eecd57f7e4f98c39 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:58:56 +0800 +Subject: [PATCH] DM: add dmsetup export + +bsc#479104 + +Patch-refreshed-by: Eric Ren <zren@suse.com> +--- + man/dmsetup.8_main | 16 +++- + tools/dmsetup.c | 252 ++++++++++++++++++++++++++++++++++++++++++++++++++++- + 2 files changed, 266 insertions(+), 2 deletions(-) + +Index: LVM2.2.02.169/man/dmsetup.8_main =================================================================== ---- LVM2.2.02.139.orig/man/dmsetup.8.in -+++ LVM2.2.02.139/man/dmsetup.8.in +--- LVM2.2.02.169.orig/man/dmsetup.8_main ++++ LVM2.2.02.169/man/dmsetup.8_main @@ -97,7 +97,15 @@ dmsetup \(em low level logical volume ma .. .CMD_LOAD @@ -23,20 +36,20 @@ See below for more information on the table format. . .HP -+.BR \-\-export ++.BR --export +.IR export +.br +Outputs information in key/value format to be imported by other programs. +. +.HP - .BR \-\-udevcookie + .BR --udevcookie .IR cookie .br -Index: LVM2.2.02.139/tools/dmsetup.c +Index: LVM2.2.02.169/tools/dmsetup.c =================================================================== ---- LVM2.2.02.139.orig/tools/dmsetup.c -+++ LVM2.2.02.139/tools/dmsetup.c -@@ -2177,6 +2177,129 @@ out: +--- LVM2.2.02.169.orig/tools/dmsetup.c ++++ LVM2.2.02.169/tools/dmsetup.c +@@ -2231,6 +2231,129 @@ out: return r; } @@ -166,11 +179,16 @@ /* Show target names and their version numbers */ static int _targets(CMD_ARGS) { -@@ -5138,6 +5261,7 @@ static struct command _dmsetup_commands[ - {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, - {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, - {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +@@ -5904,7 +6027,11 @@ static struct command _dmsetup_commands[ + {"deps", "[-o <options>] [<device>...]", 0, -1, 1, 0, _deps}, + {"stats", "<command> [<options>] [<device>...]", 1, -1, 1, 1, _stats}, + {"status", "[<device>...] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +- {"table", "[<device>...] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, ++ {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, ++ {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, + {"export", "[<device>]", 0, -1, 1, 0, _export}, - {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, {"wait", "<device> [<event_nr>] [--noflush]", 0, 2, 0, 0, _wait}, - {"mknodes", "[<device>]", 0, -1, 1, 0, _mknodes}, + {"mknodes", "[<device>...]", 0, -1, 1, 0, _mknodes}, + {"mangle", "[<device>...]", 0, -1, 1, 0, _mangle}, Index: device-mapper.changes =================================================================== --- device-mapper.changes (revision 176) +++ device-mapper.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: device-mapper.spec =================================================================== --- device-mapper.spec (revision 176) +++ device-mapper.spec (revision 5) @@ -19,8 +19,8 @@ %define libname libdevmapper1_03 %define libname_event libdevmapper-event1_03 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: device-mapper Index: libdm-iface-not-output-error-message-inside-retry-loop.patch =================================================================== --- libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 176) +++ libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 5) @@ -1,22 +1,25 @@ -From a70f17fd1dc9a8cccefb946c3501d5cb6f2766bb Mon Sep 17 00:00:00 2001 -From: Liuhua Wang <lwang@suse.com> -Date: Mon, 23 Nov 2015 13:49:39 +0800 +From 3c4d9dd3571e89545d97c8421fd4cbdbaa6895b8 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 11:09:26 +0800 Subject: [PATCH] libdm-iface: not output error message inside retry loops -This is a workaround to avoid noisy error message being output inside retry loops -in case of remove failure because device busy. But as to the replies from upstream +This is a workaround to avoid noisy error message being output inside +retry loops +in case of remove failure because device busy. But as to the replies +from upstream there may be some issues in udev operations. References: bsc#940298 boo#957059 Signed-off-by: lwang@suse.com +Patch-refreshed-by: Eric Ren <zren@suse.com> --- - libdm/ioctl/libdm-iface.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + libdm/ioctl/libdm-iface.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) -Index: LVM2.2.02.141/libdm/ioctl/libdm-iface.c -=================================================================== ---- LVM2.2.02.141.orig/libdm/ioctl/libdm-iface.c -+++ LVM2.2.02.141/libdm/ioctl/libdm-iface.c +diff --git a/libdm/ioctl/libdm-iface.c b/libdm/ioctl/libdm-iface.c +index cb3e8dc..c1c0771 100644 +--- a/libdm/ioctl/libdm-iface.c ++++ b/libdm/ioctl/libdm-iface.c @@ -62,6 +62,7 @@ */ #define MAPPER_CTRL_MINOR 236 @@ -25,15 +28,17 @@ /* dm major version no for running kernel */ static unsigned _dm_version = DM_VERSION_MAJOR; -@@ -1862,7 +1863,7 @@ static struct dm_ioctl *_do_dm_ioctl(str +@@ -1862,8 +1863,8 @@ static struct dm_ioctl *_do_dm_ioctl(struct dm_task *dmt, unsigned command, dmt->major > 0 && dmt->minor == 0 ? "0" : "", dmt->major > 0 ? ")" : "", strerror(dmt->ioctl_errno)); - else +- log_error("device-mapper: %s ioctl on %s %s%s%.0d%s%.0d%s%s " + else if(errno != EBUSY || retry_repeat_count == DM_IOCTL_RETRIES) - log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " ++ log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " "failed: %s", _cmd_data_v4[dmt->type].name, + dmi->name, dmi->uuid, @@ -1915,7 +1916,6 @@ void dm_task_update_nodes(void) update_devs(); } @@ -42,3 +47,6 @@ #define DM_RETRY_USLEEP_DELAY 200000 int dm_task_get_errno(struct dm_task *dmt) +-- +2.10.2 + Index: lvm2-clvm.changes =================================================================== --- lvm2-clvm.changes (revision 176) +++ lvm2-clvm.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2-clvm.spec =================================================================== --- lvm2-clvm.spec (revision 176) +++ lvm2-clvm.spec (revision 5) @@ -19,8 +19,8 @@ %define dlm_version 3.99.1 %define sanlock_version 3.3.0 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2-clvm Index: lvm2.changes =================================================================== --- lvm2.changes (revision 176) +++ lvm2.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2.spec =================================================================== --- lvm2.spec (revision 176) +++ lvm2.spec (revision 5) @@ -20,8 +20,8 @@ %define applib liblvm2app2_2 %define cmdlib liblvm2cmd2_02 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2 @@ -282,7 +282,6 @@ %{_sbindir}/lvcreate %{_sbindir}/lvdisplay %{_sbindir}/lvextend -%{_sbindir}/lvmchange %{_sbindir}/lvmdiskscan %{_sbindir}/lvmsadc %{_sbindir}/lvmsar @@ -336,7 +335,6 @@ /sbin/lvcreate /sbin/lvdisplay /sbin/lvextend -/sbin/lvmchange /sbin/lvmdiskscan /sbin/lvmsadc /sbin/lvmsar @@ -391,7 +389,6 @@ %{_mandir}/man8/lvm-config.8%{ext_man} %{_mandir}/man8/lvmconfig.8%{ext_man} %{_mandir}/man8/lvm-dumpconfig.8%{ext_man} -%{_mandir}/man8/lvmchange.8%{ext_man} %{_mandir}/man8/lvmconf.8%{ext_man} %{_mandir}/man8/lvmdiskscan.8%{ext_man} %{_mandir}/man8/lvmdump.8%{ext_man} Index: make-mirror-legs-on-different-tag-pvs.patch =================================================================== --- make-mirror-legs-on-different-tag-pvs.patch (revision 176) +++ make-mirror-legs-on-different-tag-pvs.patch (revision 5) @@ -1,10 +1,10 @@ -From 49a5da732c74b8b96bc123a541d590c4fd06d7af Mon Sep 17 00:00:00 2001 -From: Guangliang Zhao <gzhao@suse.com> -Date: Mon, 12 Nov 2012 15:28:11 +0800 -Subject: [PATCH 1/2] mirror: make mirror legs on different tag pvs +From b17f2ae4334f9233a88d7a2fcae325f86691beb0 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:44:30 +0800 +Subject: [PATCH] [PATCH 1/2] mirror: make mirror legs on different tag pvs -The mirror legs could be placed on the PVs(with different -tags) from the other mirror legs with this patch. +The mirror legs could be placed on the PVs(with different tags) +from the other mirror legs with this patch. The lvcreate allocates the replica "randomly" when creating a mirrored logical volume now, so it could happen that both @@ -17,18 +17,19 @@ always be placed on pvs with differnt tags. Signed-off-by: Guangliang Zhao <gzhao@suse.com> +Fix-conflict-by: Eric Ren <zren@suse.com> --- - conf/example.conf.in | 17 +++++++++++++++++ - lib/config/config_settings.h | 3 +++ - lib/config/defaults.h | 1 + - lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ - man/lvcreate.8.in | 4 ++++ - 5 files changed, 60 insertions(+) + conf/example.conf.in | 17 +++++++++++++++++ + lib/config/config_settings.h | 5 ++++- + lib/config/defaults.h | 1 + + lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ + man/lvcreate.8_pregen | 7 +++++++ + 5 files changed, 64 insertions(+), 1 deletion(-) -Index: LVM2.2.02.165/conf/example.conf.in -=================================================================== ---- LVM2.2.02.165.orig/conf/example.conf.in -+++ LVM2.2.02.165/conf/example.conf.in +diff --git a/conf/example.conf.in b/conf/example.conf.in +index 614ce53..b33289f 100644 +--- a/conf/example.conf.in ++++ b/conf/example.conf.in @@ -372,6 +372,23 @@ allocation { # or erased unless the --wipesignatures option is used directly. wipe_signatures_when_zeroing_new_lvs = 1 @@ -53,25 +54,27 @@ # Configuration option allocation/mirror_logs_require_separate_pvs. # Mirror logs and images will always use different PVs. # The default setting changed in version 2.02.85. -Index: LVM2.2.02.165/lib/config/config_settings.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/config_settings.h -+++ LVM2.2.02.165/lib/config/config_settings.h -@@ -473,6 +473,9 @@ cfg(allocation_raid_stripe_all_devices_C +diff --git a/lib/config/config_settings.h b/lib/config/config_settings.h +index b701722..0e5a5e2 100644 +--- a/lib/config/config_settings.h ++++ b/lib/config/config_settings.h +@@ -473,7 +473,10 @@ cfg(allocation_raid_stripe_all_devices_CFG, "raid_stripe_all_devices", allocatio "when the command does not specify the number of stripes to use.\n" "This was the default behaviour until release 2.02.162.\n") +-cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, +cfg(allocation_mirror_legs_require_separate_pvs_CFG, "mirror_legs_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_MIRROR_LEGS_REQUIRE_SEPARATE_PVS, vsn(2, 2, 98), NULL, 0, NULL, + "Mirror legs will always use different PVs.\n") + - cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, ++cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, "Cache pool metadata and data will always use different PVs.\n") -Index: LVM2.2.02.165/lib/config/defaults.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/defaults.h -+++ LVM2.2.02.165/lib/config/defaults.h -@@ -158,6 +158,7 @@ + cfg(allocation_cache_pool_cachemode_CFG, "cache_pool_cachemode", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA | CFG_DEFAULT_COMMENTED, CFG_TYPE_STRING, DEFAULT_CACHE_MODE, vsn(2, 2, 113), NULL, vsn(2, 2, 128), +diff --git a/lib/config/defaults.h b/lib/config/defaults.h +index 2340636..256fab6 100644 +--- a/lib/config/defaults.h ++++ b/lib/config/defaults.h +@@ -159,6 +159,7 @@ #define DEFAULT_MAX_LV 0 #define DEFAULT_ALLOC_POLICY ALLOC_NORMAL #define DEFAULT_MIRROR_LOGS_REQUIRE_SEPARATE_PVS 0 @@ -79,11 +82,11 @@ #define DEFAULT_MAXIMISE_CLING 1 #define DEFAULT_CLUSTERED 0 -Index: LVM2.2.02.165/lib/metadata/lv_manip.c -=================================================================== ---- LVM2.2.02.165.orig/lib/metadata/lv_manip.c -+++ LVM2.2.02.165/lib/metadata/lv_manip.c -@@ -1519,6 +1519,9 @@ struct alloc_handle { +diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c +index 0dfbad4..357e46a 100644 +--- a/lib/metadata/lv_manip.c ++++ b/lib/metadata/lv_manip.c +@@ -1622,6 +1622,9 @@ struct alloc_handle { unsigned maximise_cling; unsigned mirror_logs_separate; /* Force mirror logs on separate PVs? */ @@ -93,7 +96,7 @@ /* * RAID devices require a metadata area that accompanies each -@@ -2633,6 +2636,32 @@ static int _limit_to_one_area_per_tag(st +@@ -2736,6 +2739,32 @@ static int _limit_to_one_area_per_tag(struct alloc_handle *ah, struct alloc_stat } /* @@ -126,7 +129,7 @@ * Returns 1 regardless of whether any space was found, except on error. */ static int _find_some_parallel_space(struct alloc_handle *ah, -@@ -2762,6 +2791,10 @@ static int _find_some_parallel_space(str +@@ -2865,6 +2894,10 @@ static int _find_some_parallel_space(struct alloc_handle *ah, continue; case USE_AREA: @@ -137,7 +140,7 @@ /* * Except with ALLOC_ANYWHERE, replace first area with this * one which is smaller but still big enough. -@@ -3243,6 +3276,7 @@ static struct alloc_handle *_alloc_init( +@@ -3355,6 +3388,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->parity_count = parity_count; ah->region_size = region_size; ah->alloc = alloc; @@ -145,7 +148,7 @@ /* * For the purposes of allocation, area_count and parity_count are -@@ -3254,6 +3288,7 @@ static struct alloc_handle *_alloc_init( +@@ -3366,6 +3400,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->area_multiple = _calc_area_multiple(segtype, area_count + parity_count, stripes); //FIXME: s/mirror_logs_separate/metadata_separate/ so it can be used by others? ah->mirror_logs_separate = find_config_tree_bool(cmd, allocation_mirror_logs_require_separate_pvs_CFG, NULL); @@ -153,18 +156,24 @@ if (mirrors || stripes) total_extents = new_extents; -Index: LVM2.2.02.165/man/lvcreate.8.in -=================================================================== ---- LVM2.2.02.165.orig/man/lvcreate.8.in -+++ LVM2.2.02.165/man/lvcreate.8.in -@@ -418,6 +418,10 @@ Using \fBcore\fP means the mirror is reg - from the first device each time the logical volume is activated, - like after every reboot. +diff --git a/man/lvcreate.8_pregen b/man/lvcreate.8_pregen +index 6663087..c385927 100644 +--- a/man/lvcreate.8_pregen ++++ b/man/lvcreate.8_pregen +@@ -416,6 +416,13 @@ Create a raid10 LV. + [ \fB-I\fP|\fB--stripesize\fP \fISize\fP[k|UNIT] ] + .ad b .br +Every leg of the mirrored logical volume could be placed on the pvs with +same tag, see details(mirror_legs_require_separate_pvs) in lvm.conf. + +.br - Using \fBmirrored\fP will create a persistent log that is itself mirrored. - . - .HP ++Using \fBmirrored\fP will create a persistent log that is itself mirrored. ++. ++.HP + .ad l + [ \fB-R\fP|\fB--regionsize\fP \fISize\fP[m|UNIT] ] + .ad b +-- +2.10.2 + Index: LVM2.2.02.169.tgz =================================================================== Binary file LVM2.2.02.169.tgz (revision 5) added Index: LVM2.2.02.169.tgz.asc =================================================================== --- LVM2.2.02.169.tgz.asc (added) +++ LVM2.2.02.169.tgz.asc (revision 5) @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.14 (GNU/Linux) + +iEYEABECAAYFAljafgEACgkQIoGRwVZ+LBeo5wCfVaQeSN73FPcJf86c3aqrFmZu +Rs0AoJ6l75QbY2V55rhunJvwwDllKlpF +=0Jtt +-----END PGP SIGNATURE----- Index: LVM2.2.02.168.tgz =================================================================== Binary file LVM2.2.02.168.tgz (revision 176) deleted Index: LVM2.2.02.168.tgz.asc =================================================================== --- LVM2.2.02.168.tgz.asc (revision 176) +++ LVM2.2.02.168.tgz.asc (deleted) @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.14 (GNU/Linux) - -iEUEABECAAYFAlg/XqMACgkQIoGRwVZ+LBdjQACVGeU4I+B5ETIhINJeYXy2bLNu -hQCgxEmGwG0ec2frSXhQociTYfT6vVc= -=T5md ------END PGP SIGNATURE----- OBS-URL: https://build.opensuse.org/request/show/487889 OBS-URL: https://build.opensuse.org/package/show/Base:System/lvm2?expand=0&rev=177
2017-04-18 12:55:18 +02:00
@@ -3355,6 +3388,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd,
ah->parity_count = parity_count;
ah->region_size = region_size;
ah->alloc = alloc;
+ ah->segtype = segtype;
/*
* For the purposes of allocation, area_count and parity_count are
Accepting request 487889 from home:jnelson-suse:branches:Base:System - Update device mapper version to 1.02.138, see WHATS_NEW_DM for detailed changelogs * Drop obsolete lvmchange files accordingly - Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch - Refresh make-mirror-legs-on-different-tag-pvs.patch - device-mapper-dmsetup-export.patch - LVM version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM files for detailed changelogs old: Base:System/lvm2 new: home:jnelson-suse:branches:Base:System/lvm2 rev None Index: device-mapper-dmsetup-export.patch =================================================================== --- device-mapper-dmsetup-export.patch (revision 176) +++ device-mapper-dmsetup-export.patch (revision 5) @@ -1,7 +1,20 @@ -Index: LVM2.2.02.139/man/dmsetup.8.in +From b148cb1c1e801455cb774f51eecd57f7e4f98c39 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:58:56 +0800 +Subject: [PATCH] DM: add dmsetup export + +bsc#479104 + +Patch-refreshed-by: Eric Ren <zren@suse.com> +--- + man/dmsetup.8_main | 16 +++- + tools/dmsetup.c | 252 ++++++++++++++++++++++++++++++++++++++++++++++++++++- + 2 files changed, 266 insertions(+), 2 deletions(-) + +Index: LVM2.2.02.169/man/dmsetup.8_main =================================================================== ---- LVM2.2.02.139.orig/man/dmsetup.8.in -+++ LVM2.2.02.139/man/dmsetup.8.in +--- LVM2.2.02.169.orig/man/dmsetup.8_main ++++ LVM2.2.02.169/man/dmsetup.8_main @@ -97,7 +97,15 @@ dmsetup \(em low level logical volume ma .. .CMD_LOAD @@ -23,20 +36,20 @@ See below for more information on the table format. . .HP -+.BR \-\-export ++.BR --export +.IR export +.br +Outputs information in key/value format to be imported by other programs. +. +.HP - .BR \-\-udevcookie + .BR --udevcookie .IR cookie .br -Index: LVM2.2.02.139/tools/dmsetup.c +Index: LVM2.2.02.169/tools/dmsetup.c =================================================================== ---- LVM2.2.02.139.orig/tools/dmsetup.c -+++ LVM2.2.02.139/tools/dmsetup.c -@@ -2177,6 +2177,129 @@ out: +--- LVM2.2.02.169.orig/tools/dmsetup.c ++++ LVM2.2.02.169/tools/dmsetup.c +@@ -2231,6 +2231,129 @@ out: return r; } @@ -166,11 +179,16 @@ /* Show target names and their version numbers */ static int _targets(CMD_ARGS) { -@@ -5138,6 +5261,7 @@ static struct command _dmsetup_commands[ - {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, - {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, - {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +@@ -5904,7 +6027,11 @@ static struct command _dmsetup_commands[ + {"deps", "[-o <options>] [<device>...]", 0, -1, 1, 0, _deps}, + {"stats", "<command> [<options>] [<device>...]", 1, -1, 1, 1, _stats}, + {"status", "[<device>...] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +- {"table", "[<device>...] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, ++ {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, ++ {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, + {"export", "[<device>]", 0, -1, 1, 0, _export}, - {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, {"wait", "<device> [<event_nr>] [--noflush]", 0, 2, 0, 0, _wait}, - {"mknodes", "[<device>]", 0, -1, 1, 0, _mknodes}, + {"mknodes", "[<device>...]", 0, -1, 1, 0, _mknodes}, + {"mangle", "[<device>...]", 0, -1, 1, 0, _mangle}, Index: device-mapper.changes =================================================================== --- device-mapper.changes (revision 176) +++ device-mapper.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: device-mapper.spec =================================================================== --- device-mapper.spec (revision 176) +++ device-mapper.spec (revision 5) @@ -19,8 +19,8 @@ %define libname libdevmapper1_03 %define libname_event libdevmapper-event1_03 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: device-mapper Index: libdm-iface-not-output-error-message-inside-retry-loop.patch =================================================================== --- libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 176) +++ libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 5) @@ -1,22 +1,25 @@ -From a70f17fd1dc9a8cccefb946c3501d5cb6f2766bb Mon Sep 17 00:00:00 2001 -From: Liuhua Wang <lwang@suse.com> -Date: Mon, 23 Nov 2015 13:49:39 +0800 +From 3c4d9dd3571e89545d97c8421fd4cbdbaa6895b8 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 11:09:26 +0800 Subject: [PATCH] libdm-iface: not output error message inside retry loops -This is a workaround to avoid noisy error message being output inside retry loops -in case of remove failure because device busy. But as to the replies from upstream +This is a workaround to avoid noisy error message being output inside +retry loops +in case of remove failure because device busy. But as to the replies +from upstream there may be some issues in udev operations. References: bsc#940298 boo#957059 Signed-off-by: lwang@suse.com +Patch-refreshed-by: Eric Ren <zren@suse.com> --- - libdm/ioctl/libdm-iface.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + libdm/ioctl/libdm-iface.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) -Index: LVM2.2.02.141/libdm/ioctl/libdm-iface.c -=================================================================== ---- LVM2.2.02.141.orig/libdm/ioctl/libdm-iface.c -+++ LVM2.2.02.141/libdm/ioctl/libdm-iface.c +diff --git a/libdm/ioctl/libdm-iface.c b/libdm/ioctl/libdm-iface.c +index cb3e8dc..c1c0771 100644 +--- a/libdm/ioctl/libdm-iface.c ++++ b/libdm/ioctl/libdm-iface.c @@ -62,6 +62,7 @@ */ #define MAPPER_CTRL_MINOR 236 @@ -25,15 +28,17 @@ /* dm major version no for running kernel */ static unsigned _dm_version = DM_VERSION_MAJOR; -@@ -1862,7 +1863,7 @@ static struct dm_ioctl *_do_dm_ioctl(str +@@ -1862,8 +1863,8 @@ static struct dm_ioctl *_do_dm_ioctl(struct dm_task *dmt, unsigned command, dmt->major > 0 && dmt->minor == 0 ? "0" : "", dmt->major > 0 ? ")" : "", strerror(dmt->ioctl_errno)); - else +- log_error("device-mapper: %s ioctl on %s %s%s%.0d%s%.0d%s%s " + else if(errno != EBUSY || retry_repeat_count == DM_IOCTL_RETRIES) - log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " ++ log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " "failed: %s", _cmd_data_v4[dmt->type].name, + dmi->name, dmi->uuid, @@ -1915,7 +1916,6 @@ void dm_task_update_nodes(void) update_devs(); } @@ -42,3 +47,6 @@ #define DM_RETRY_USLEEP_DELAY 200000 int dm_task_get_errno(struct dm_task *dmt) +-- +2.10.2 + Index: lvm2-clvm.changes =================================================================== --- lvm2-clvm.changes (revision 176) +++ lvm2-clvm.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2-clvm.spec =================================================================== --- lvm2-clvm.spec (revision 176) +++ lvm2-clvm.spec (revision 5) @@ -19,8 +19,8 @@ %define dlm_version 3.99.1 %define sanlock_version 3.3.0 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2-clvm Index: lvm2.changes =================================================================== --- lvm2.changes (revision 176) +++ lvm2.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2.spec =================================================================== --- lvm2.spec (revision 176) +++ lvm2.spec (revision 5) @@ -20,8 +20,8 @@ %define applib liblvm2app2_2 %define cmdlib liblvm2cmd2_02 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2 @@ -282,7 +282,6 @@ %{_sbindir}/lvcreate %{_sbindir}/lvdisplay %{_sbindir}/lvextend -%{_sbindir}/lvmchange %{_sbindir}/lvmdiskscan %{_sbindir}/lvmsadc %{_sbindir}/lvmsar @@ -336,7 +335,6 @@ /sbin/lvcreate /sbin/lvdisplay /sbin/lvextend -/sbin/lvmchange /sbin/lvmdiskscan /sbin/lvmsadc /sbin/lvmsar @@ -391,7 +389,6 @@ %{_mandir}/man8/lvm-config.8%{ext_man} %{_mandir}/man8/lvmconfig.8%{ext_man} %{_mandir}/man8/lvm-dumpconfig.8%{ext_man} -%{_mandir}/man8/lvmchange.8%{ext_man} %{_mandir}/man8/lvmconf.8%{ext_man} %{_mandir}/man8/lvmdiskscan.8%{ext_man} %{_mandir}/man8/lvmdump.8%{ext_man} Index: make-mirror-legs-on-different-tag-pvs.patch =================================================================== --- make-mirror-legs-on-different-tag-pvs.patch (revision 176) +++ make-mirror-legs-on-different-tag-pvs.patch (revision 5) @@ -1,10 +1,10 @@ -From 49a5da732c74b8b96bc123a541d590c4fd06d7af Mon Sep 17 00:00:00 2001 -From: Guangliang Zhao <gzhao@suse.com> -Date: Mon, 12 Nov 2012 15:28:11 +0800 -Subject: [PATCH 1/2] mirror: make mirror legs on different tag pvs +From b17f2ae4334f9233a88d7a2fcae325f86691beb0 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:44:30 +0800 +Subject: [PATCH] [PATCH 1/2] mirror: make mirror legs on different tag pvs -The mirror legs could be placed on the PVs(with different -tags) from the other mirror legs with this patch. +The mirror legs could be placed on the PVs(with different tags) +from the other mirror legs with this patch. The lvcreate allocates the replica "randomly" when creating a mirrored logical volume now, so it could happen that both @@ -17,18 +17,19 @@ always be placed on pvs with differnt tags. Signed-off-by: Guangliang Zhao <gzhao@suse.com> +Fix-conflict-by: Eric Ren <zren@suse.com> --- - conf/example.conf.in | 17 +++++++++++++++++ - lib/config/config_settings.h | 3 +++ - lib/config/defaults.h | 1 + - lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ - man/lvcreate.8.in | 4 ++++ - 5 files changed, 60 insertions(+) + conf/example.conf.in | 17 +++++++++++++++++ + lib/config/config_settings.h | 5 ++++- + lib/config/defaults.h | 1 + + lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ + man/lvcreate.8_pregen | 7 +++++++ + 5 files changed, 64 insertions(+), 1 deletion(-) -Index: LVM2.2.02.165/conf/example.conf.in -=================================================================== ---- LVM2.2.02.165.orig/conf/example.conf.in -+++ LVM2.2.02.165/conf/example.conf.in +diff --git a/conf/example.conf.in b/conf/example.conf.in +index 614ce53..b33289f 100644 +--- a/conf/example.conf.in ++++ b/conf/example.conf.in @@ -372,6 +372,23 @@ allocation { # or erased unless the --wipesignatures option is used directly. wipe_signatures_when_zeroing_new_lvs = 1 @@ -53,25 +54,27 @@ # Configuration option allocation/mirror_logs_require_separate_pvs. # Mirror logs and images will always use different PVs. # The default setting changed in version 2.02.85. -Index: LVM2.2.02.165/lib/config/config_settings.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/config_settings.h -+++ LVM2.2.02.165/lib/config/config_settings.h -@@ -473,6 +473,9 @@ cfg(allocation_raid_stripe_all_devices_C +diff --git a/lib/config/config_settings.h b/lib/config/config_settings.h +index b701722..0e5a5e2 100644 +--- a/lib/config/config_settings.h ++++ b/lib/config/config_settings.h +@@ -473,7 +473,10 @@ cfg(allocation_raid_stripe_all_devices_CFG, "raid_stripe_all_devices", allocatio "when the command does not specify the number of stripes to use.\n" "This was the default behaviour until release 2.02.162.\n") +-cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, +cfg(allocation_mirror_legs_require_separate_pvs_CFG, "mirror_legs_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_MIRROR_LEGS_REQUIRE_SEPARATE_PVS, vsn(2, 2, 98), NULL, 0, NULL, + "Mirror legs will always use different PVs.\n") + - cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, ++cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, "Cache pool metadata and data will always use different PVs.\n") -Index: LVM2.2.02.165/lib/config/defaults.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/defaults.h -+++ LVM2.2.02.165/lib/config/defaults.h -@@ -158,6 +158,7 @@ + cfg(allocation_cache_pool_cachemode_CFG, "cache_pool_cachemode", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA | CFG_DEFAULT_COMMENTED, CFG_TYPE_STRING, DEFAULT_CACHE_MODE, vsn(2, 2, 113), NULL, vsn(2, 2, 128), +diff --git a/lib/config/defaults.h b/lib/config/defaults.h +index 2340636..256fab6 100644 +--- a/lib/config/defaults.h ++++ b/lib/config/defaults.h +@@ -159,6 +159,7 @@ #define DEFAULT_MAX_LV 0 #define DEFAULT_ALLOC_POLICY ALLOC_NORMAL #define DEFAULT_MIRROR_LOGS_REQUIRE_SEPARATE_PVS 0 @@ -79,11 +82,11 @@ #define DEFAULT_MAXIMISE_CLING 1 #define DEFAULT_CLUSTERED 0 -Index: LVM2.2.02.165/lib/metadata/lv_manip.c -=================================================================== ---- LVM2.2.02.165.orig/lib/metadata/lv_manip.c -+++ LVM2.2.02.165/lib/metadata/lv_manip.c -@@ -1519,6 +1519,9 @@ struct alloc_handle { +diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c +index 0dfbad4..357e46a 100644 +--- a/lib/metadata/lv_manip.c ++++ b/lib/metadata/lv_manip.c +@@ -1622,6 +1622,9 @@ struct alloc_handle { unsigned maximise_cling; unsigned mirror_logs_separate; /* Force mirror logs on separate PVs? */ @@ -93,7 +96,7 @@ /* * RAID devices require a metadata area that accompanies each -@@ -2633,6 +2636,32 @@ static int _limit_to_one_area_per_tag(st +@@ -2736,6 +2739,32 @@ static int _limit_to_one_area_per_tag(struct alloc_handle *ah, struct alloc_stat } /* @@ -126,7 +129,7 @@ * Returns 1 regardless of whether any space was found, except on error. */ static int _find_some_parallel_space(struct alloc_handle *ah, -@@ -2762,6 +2791,10 @@ static int _find_some_parallel_space(str +@@ -2865,6 +2894,10 @@ static int _find_some_parallel_space(struct alloc_handle *ah, continue; case USE_AREA: @@ -137,7 +140,7 @@ /* * Except with ALLOC_ANYWHERE, replace first area with this * one which is smaller but still big enough. -@@ -3243,6 +3276,7 @@ static struct alloc_handle *_alloc_init( +@@ -3355,6 +3388,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->parity_count = parity_count; ah->region_size = region_size; ah->alloc = alloc; @@ -145,7 +148,7 @@ /* * For the purposes of allocation, area_count and parity_count are -@@ -3254,6 +3288,7 @@ static struct alloc_handle *_alloc_init( +@@ -3366,6 +3400,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->area_multiple = _calc_area_multiple(segtype, area_count + parity_count, stripes); //FIXME: s/mirror_logs_separate/metadata_separate/ so it can be used by others? ah->mirror_logs_separate = find_config_tree_bool(cmd, allocation_mirror_logs_require_separate_pvs_CFG, NULL); @@ -153,18 +156,24 @@ if (mirrors || stripes) total_extents = new_extents; -Index: LVM2.2.02.165/man/lvcreate.8.in -=================================================================== ---- LVM2.2.02.165.orig/man/lvcreate.8.in -+++ LVM2.2.02.165/man/lvcreate.8.in -@@ -418,6 +418,10 @@ Using \fBcore\fP means the mirror is reg - from the first device each time the logical volume is activated, - like after every reboot. +diff --git a/man/lvcreate.8_pregen b/man/lvcreate.8_pregen +index 6663087..c385927 100644 +--- a/man/lvcreate.8_pregen ++++ b/man/lvcreate.8_pregen +@@ -416,6 +416,13 @@ Create a raid10 LV. + [ \fB-I\fP|\fB--stripesize\fP \fISize\fP[k|UNIT] ] + .ad b .br +Every leg of the mirrored logical volume could be placed on the pvs with +same tag, see details(mirror_legs_require_separate_pvs) in lvm.conf. + +.br - Using \fBmirrored\fP will create a persistent log that is itself mirrored. - . - .HP ++Using \fBmirrored\fP will create a persistent log that is itself mirrored. ++. ++.HP + .ad l + [ \fB-R\fP|\fB--regionsize\fP \fISize\fP[m|UNIT] ] + .ad b +-- +2.10.2 + Index: LVM2.2.02.169.tgz =================================================================== Binary file LVM2.2.02.169.tgz (revision 5) added Index: LVM2.2.02.169.tgz.asc =================================================================== --- LVM2.2.02.169.tgz.asc (added) +++ LVM2.2.02.169.tgz.asc (revision 5) @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.14 (GNU/Linux) + +iEYEABECAAYFAljafgEACgkQIoGRwVZ+LBeo5wCfVaQeSN73FPcJf86c3aqrFmZu +Rs0AoJ6l75QbY2V55rhunJvwwDllKlpF +=0Jtt +-----END PGP SIGNATURE----- Index: LVM2.2.02.168.tgz =================================================================== Binary file LVM2.2.02.168.tgz (revision 176) deleted Index: LVM2.2.02.168.tgz.asc =================================================================== --- LVM2.2.02.168.tgz.asc (revision 176) +++ LVM2.2.02.168.tgz.asc (deleted) @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.14 (GNU/Linux) - -iEUEABECAAYFAlg/XqMACgkQIoGRwVZ+LBdjQACVGeU4I+B5ETIhINJeYXy2bLNu -hQCgxEmGwG0ec2frSXhQociTYfT6vVc= -=T5md ------END PGP SIGNATURE----- OBS-URL: https://build.opensuse.org/request/show/487889 OBS-URL: https://build.opensuse.org/package/show/Base:System/lvm2?expand=0&rev=177
2017-04-18 12:55:18 +02:00
@@ -3366,6 +3400,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd,
ah->area_multiple = _calc_area_multiple(segtype, area_count + parity_count, stripes);
//FIXME: s/mirror_logs_separate/metadata_separate/ so it can be used by others?
ah->mirror_logs_separate = find_config_tree_bool(cmd, allocation_mirror_logs_require_separate_pvs_CFG, NULL);
+ ah->mirror_legs_separate = find_config_tree_bool(cmd, allocation_mirror_legs_require_separate_pvs_CFG, NULL);
if (mirrors || stripes)
total_extents = new_extents;
Accepting request 487889 from home:jnelson-suse:branches:Base:System - Update device mapper version to 1.02.138, see WHATS_NEW_DM for detailed changelogs * Drop obsolete lvmchange files accordingly - Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch - Refresh make-mirror-legs-on-different-tag-pvs.patch - device-mapper-dmsetup-export.patch - LVM version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM files for detailed changelogs old: Base:System/lvm2 new: home:jnelson-suse:branches:Base:System/lvm2 rev None Index: device-mapper-dmsetup-export.patch =================================================================== --- device-mapper-dmsetup-export.patch (revision 176) +++ device-mapper-dmsetup-export.patch (revision 5) @@ -1,7 +1,20 @@ -Index: LVM2.2.02.139/man/dmsetup.8.in +From b148cb1c1e801455cb774f51eecd57f7e4f98c39 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:58:56 +0800 +Subject: [PATCH] DM: add dmsetup export + +bsc#479104 + +Patch-refreshed-by: Eric Ren <zren@suse.com> +--- + man/dmsetup.8_main | 16 +++- + tools/dmsetup.c | 252 ++++++++++++++++++++++++++++++++++++++++++++++++++++- + 2 files changed, 266 insertions(+), 2 deletions(-) + +Index: LVM2.2.02.169/man/dmsetup.8_main =================================================================== ---- LVM2.2.02.139.orig/man/dmsetup.8.in -+++ LVM2.2.02.139/man/dmsetup.8.in +--- LVM2.2.02.169.orig/man/dmsetup.8_main ++++ LVM2.2.02.169/man/dmsetup.8_main @@ -97,7 +97,15 @@ dmsetup \(em low level logical volume ma .. .CMD_LOAD @@ -23,20 +36,20 @@ See below for more information on the table format. . .HP -+.BR \-\-export ++.BR --export +.IR export +.br +Outputs information in key/value format to be imported by other programs. +. +.HP - .BR \-\-udevcookie + .BR --udevcookie .IR cookie .br -Index: LVM2.2.02.139/tools/dmsetup.c +Index: LVM2.2.02.169/tools/dmsetup.c =================================================================== ---- LVM2.2.02.139.orig/tools/dmsetup.c -+++ LVM2.2.02.139/tools/dmsetup.c -@@ -2177,6 +2177,129 @@ out: +--- LVM2.2.02.169.orig/tools/dmsetup.c ++++ LVM2.2.02.169/tools/dmsetup.c +@@ -2231,6 +2231,129 @@ out: return r; } @@ -166,11 +179,16 @@ /* Show target names and their version numbers */ static int _targets(CMD_ARGS) { -@@ -5138,6 +5261,7 @@ static struct command _dmsetup_commands[ - {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, - {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, - {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +@@ -5904,7 +6027,11 @@ static struct command _dmsetup_commands[ + {"deps", "[-o <options>] [<device>...]", 0, -1, 1, 0, _deps}, + {"stats", "<command> [<options>] [<device>...]", 1, -1, 1, 1, _stats}, + {"status", "[<device>...] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +- {"table", "[<device>...] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, ++ {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, ++ {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, + {"export", "[<device>]", 0, -1, 1, 0, _export}, - {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, {"wait", "<device> [<event_nr>] [--noflush]", 0, 2, 0, 0, _wait}, - {"mknodes", "[<device>]", 0, -1, 1, 0, _mknodes}, + {"mknodes", "[<device>...]", 0, -1, 1, 0, _mknodes}, + {"mangle", "[<device>...]", 0, -1, 1, 0, _mangle}, Index: device-mapper.changes =================================================================== --- device-mapper.changes (revision 176) +++ device-mapper.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: device-mapper.spec =================================================================== --- device-mapper.spec (revision 176) +++ device-mapper.spec (revision 5) @@ -19,8 +19,8 @@ %define libname libdevmapper1_03 %define libname_event libdevmapper-event1_03 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: device-mapper Index: libdm-iface-not-output-error-message-inside-retry-loop.patch =================================================================== --- libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 176) +++ libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 5) @@ -1,22 +1,25 @@ -From a70f17fd1dc9a8cccefb946c3501d5cb6f2766bb Mon Sep 17 00:00:00 2001 -From: Liuhua Wang <lwang@suse.com> -Date: Mon, 23 Nov 2015 13:49:39 +0800 +From 3c4d9dd3571e89545d97c8421fd4cbdbaa6895b8 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 11:09:26 +0800 Subject: [PATCH] libdm-iface: not output error message inside retry loops -This is a workaround to avoid noisy error message being output inside retry loops -in case of remove failure because device busy. But as to the replies from upstream +This is a workaround to avoid noisy error message being output inside +retry loops +in case of remove failure because device busy. But as to the replies +from upstream there may be some issues in udev operations. References: bsc#940298 boo#957059 Signed-off-by: lwang@suse.com +Patch-refreshed-by: Eric Ren <zren@suse.com> --- - libdm/ioctl/libdm-iface.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + libdm/ioctl/libdm-iface.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) -Index: LVM2.2.02.141/libdm/ioctl/libdm-iface.c -=================================================================== ---- LVM2.2.02.141.orig/libdm/ioctl/libdm-iface.c -+++ LVM2.2.02.141/libdm/ioctl/libdm-iface.c +diff --git a/libdm/ioctl/libdm-iface.c b/libdm/ioctl/libdm-iface.c +index cb3e8dc..c1c0771 100644 +--- a/libdm/ioctl/libdm-iface.c ++++ b/libdm/ioctl/libdm-iface.c @@ -62,6 +62,7 @@ */ #define MAPPER_CTRL_MINOR 236 @@ -25,15 +28,17 @@ /* dm major version no for running kernel */ static unsigned _dm_version = DM_VERSION_MAJOR; -@@ -1862,7 +1863,7 @@ static struct dm_ioctl *_do_dm_ioctl(str +@@ -1862,8 +1863,8 @@ static struct dm_ioctl *_do_dm_ioctl(struct dm_task *dmt, unsigned command, dmt->major > 0 && dmt->minor == 0 ? "0" : "", dmt->major > 0 ? ")" : "", strerror(dmt->ioctl_errno)); - else +- log_error("device-mapper: %s ioctl on %s %s%s%.0d%s%.0d%s%s " + else if(errno != EBUSY || retry_repeat_count == DM_IOCTL_RETRIES) - log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " ++ log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " "failed: %s", _cmd_data_v4[dmt->type].name, + dmi->name, dmi->uuid, @@ -1915,7 +1916,6 @@ void dm_task_update_nodes(void) update_devs(); } @@ -42,3 +47,6 @@ #define DM_RETRY_USLEEP_DELAY 200000 int dm_task_get_errno(struct dm_task *dmt) +-- +2.10.2 + Index: lvm2-clvm.changes =================================================================== --- lvm2-clvm.changes (revision 176) +++ lvm2-clvm.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2-clvm.spec =================================================================== --- lvm2-clvm.spec (revision 176) +++ lvm2-clvm.spec (revision 5) @@ -19,8 +19,8 @@ %define dlm_version 3.99.1 %define sanlock_version 3.3.0 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2-clvm Index: lvm2.changes =================================================================== --- lvm2.changes (revision 176) +++ lvm2.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2.spec =================================================================== --- lvm2.spec (revision 176) +++ lvm2.spec (revision 5) @@ -20,8 +20,8 @@ %define applib liblvm2app2_2 %define cmdlib liblvm2cmd2_02 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2 @@ -282,7 +282,6 @@ %{_sbindir}/lvcreate %{_sbindir}/lvdisplay %{_sbindir}/lvextend -%{_sbindir}/lvmchange %{_sbindir}/lvmdiskscan %{_sbindir}/lvmsadc %{_sbindir}/lvmsar @@ -336,7 +335,6 @@ /sbin/lvcreate /sbin/lvdisplay /sbin/lvextend -/sbin/lvmchange /sbin/lvmdiskscan /sbin/lvmsadc /sbin/lvmsar @@ -391,7 +389,6 @@ %{_mandir}/man8/lvm-config.8%{ext_man} %{_mandir}/man8/lvmconfig.8%{ext_man} %{_mandir}/man8/lvm-dumpconfig.8%{ext_man} -%{_mandir}/man8/lvmchange.8%{ext_man} %{_mandir}/man8/lvmconf.8%{ext_man} %{_mandir}/man8/lvmdiskscan.8%{ext_man} %{_mandir}/man8/lvmdump.8%{ext_man} Index: make-mirror-legs-on-different-tag-pvs.patch =================================================================== --- make-mirror-legs-on-different-tag-pvs.patch (revision 176) +++ make-mirror-legs-on-different-tag-pvs.patch (revision 5) @@ -1,10 +1,10 @@ -From 49a5da732c74b8b96bc123a541d590c4fd06d7af Mon Sep 17 00:00:00 2001 -From: Guangliang Zhao <gzhao@suse.com> -Date: Mon, 12 Nov 2012 15:28:11 +0800 -Subject: [PATCH 1/2] mirror: make mirror legs on different tag pvs +From b17f2ae4334f9233a88d7a2fcae325f86691beb0 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:44:30 +0800 +Subject: [PATCH] [PATCH 1/2] mirror: make mirror legs on different tag pvs -The mirror legs could be placed on the PVs(with different -tags) from the other mirror legs with this patch. +The mirror legs could be placed on the PVs(with different tags) +from the other mirror legs with this patch. The lvcreate allocates the replica "randomly" when creating a mirrored logical volume now, so it could happen that both @@ -17,18 +17,19 @@ always be placed on pvs with differnt tags. Signed-off-by: Guangliang Zhao <gzhao@suse.com> +Fix-conflict-by: Eric Ren <zren@suse.com> --- - conf/example.conf.in | 17 +++++++++++++++++ - lib/config/config_settings.h | 3 +++ - lib/config/defaults.h | 1 + - lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ - man/lvcreate.8.in | 4 ++++ - 5 files changed, 60 insertions(+) + conf/example.conf.in | 17 +++++++++++++++++ + lib/config/config_settings.h | 5 ++++- + lib/config/defaults.h | 1 + + lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ + man/lvcreate.8_pregen | 7 +++++++ + 5 files changed, 64 insertions(+), 1 deletion(-) -Index: LVM2.2.02.165/conf/example.conf.in -=================================================================== ---- LVM2.2.02.165.orig/conf/example.conf.in -+++ LVM2.2.02.165/conf/example.conf.in +diff --git a/conf/example.conf.in b/conf/example.conf.in +index 614ce53..b33289f 100644 +--- a/conf/example.conf.in ++++ b/conf/example.conf.in @@ -372,6 +372,23 @@ allocation { # or erased unless the --wipesignatures option is used directly. wipe_signatures_when_zeroing_new_lvs = 1 @@ -53,25 +54,27 @@ # Configuration option allocation/mirror_logs_require_separate_pvs. # Mirror logs and images will always use different PVs. # The default setting changed in version 2.02.85. -Index: LVM2.2.02.165/lib/config/config_settings.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/config_settings.h -+++ LVM2.2.02.165/lib/config/config_settings.h -@@ -473,6 +473,9 @@ cfg(allocation_raid_stripe_all_devices_C +diff --git a/lib/config/config_settings.h b/lib/config/config_settings.h +index b701722..0e5a5e2 100644 +--- a/lib/config/config_settings.h ++++ b/lib/config/config_settings.h +@@ -473,7 +473,10 @@ cfg(allocation_raid_stripe_all_devices_CFG, "raid_stripe_all_devices", allocatio "when the command does not specify the number of stripes to use.\n" "This was the default behaviour until release 2.02.162.\n") +-cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, +cfg(allocation_mirror_legs_require_separate_pvs_CFG, "mirror_legs_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_MIRROR_LEGS_REQUIRE_SEPARATE_PVS, vsn(2, 2, 98), NULL, 0, NULL, + "Mirror legs will always use different PVs.\n") + - cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, ++cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, "Cache pool metadata and data will always use different PVs.\n") -Index: LVM2.2.02.165/lib/config/defaults.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/defaults.h -+++ LVM2.2.02.165/lib/config/defaults.h -@@ -158,6 +158,7 @@ + cfg(allocation_cache_pool_cachemode_CFG, "cache_pool_cachemode", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA | CFG_DEFAULT_COMMENTED, CFG_TYPE_STRING, DEFAULT_CACHE_MODE, vsn(2, 2, 113), NULL, vsn(2, 2, 128), +diff --git a/lib/config/defaults.h b/lib/config/defaults.h +index 2340636..256fab6 100644 +--- a/lib/config/defaults.h ++++ b/lib/config/defaults.h +@@ -159,6 +159,7 @@ #define DEFAULT_MAX_LV 0 #define DEFAULT_ALLOC_POLICY ALLOC_NORMAL #define DEFAULT_MIRROR_LOGS_REQUIRE_SEPARATE_PVS 0 @@ -79,11 +82,11 @@ #define DEFAULT_MAXIMISE_CLING 1 #define DEFAULT_CLUSTERED 0 -Index: LVM2.2.02.165/lib/metadata/lv_manip.c -=================================================================== ---- LVM2.2.02.165.orig/lib/metadata/lv_manip.c -+++ LVM2.2.02.165/lib/metadata/lv_manip.c -@@ -1519,6 +1519,9 @@ struct alloc_handle { +diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c +index 0dfbad4..357e46a 100644 +--- a/lib/metadata/lv_manip.c ++++ b/lib/metadata/lv_manip.c +@@ -1622,6 +1622,9 @@ struct alloc_handle { unsigned maximise_cling; unsigned mirror_logs_separate; /* Force mirror logs on separate PVs? */ @@ -93,7 +96,7 @@ /* * RAID devices require a metadata area that accompanies each -@@ -2633,6 +2636,32 @@ static int _limit_to_one_area_per_tag(st +@@ -2736,6 +2739,32 @@ static int _limit_to_one_area_per_tag(struct alloc_handle *ah, struct alloc_stat } /* @@ -126,7 +129,7 @@ * Returns 1 regardless of whether any space was found, except on error. */ static int _find_some_parallel_space(struct alloc_handle *ah, -@@ -2762,6 +2791,10 @@ static int _find_some_parallel_space(str +@@ -2865,6 +2894,10 @@ static int _find_some_parallel_space(struct alloc_handle *ah, continue; case USE_AREA: @@ -137,7 +140,7 @@ /* * Except with ALLOC_ANYWHERE, replace first area with this * one which is smaller but still big enough. -@@ -3243,6 +3276,7 @@ static struct alloc_handle *_alloc_init( +@@ -3355,6 +3388,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->parity_count = parity_count; ah->region_size = region_size; ah->alloc = alloc; @@ -145,7 +148,7 @@ /* * For the purposes of allocation, area_count and parity_count are -@@ -3254,6 +3288,7 @@ static struct alloc_handle *_alloc_init( +@@ -3366,6 +3400,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->area_multiple = _calc_area_multiple(segtype, area_count + parity_count, stripes); //FIXME: s/mirror_logs_separate/metadata_separate/ so it can be used by others? ah->mirror_logs_separate = find_config_tree_bool(cmd, allocation_mirror_logs_require_separate_pvs_CFG, NULL); @@ -153,18 +156,24 @@ if (mirrors || stripes) total_extents = new_extents; -Index: LVM2.2.02.165/man/lvcreate.8.in -=================================================================== ---- LVM2.2.02.165.orig/man/lvcreate.8.in -+++ LVM2.2.02.165/man/lvcreate.8.in -@@ -418,6 +418,10 @@ Using \fBcore\fP means the mirror is reg - from the first device each time the logical volume is activated, - like after every reboot. +diff --git a/man/lvcreate.8_pregen b/man/lvcreate.8_pregen +index 6663087..c385927 100644 +--- a/man/lvcreate.8_pregen ++++ b/man/lvcreate.8_pregen +@@ -416,6 +416,13 @@ Create a raid10 LV. + [ \fB-I\fP|\fB--stripesize\fP \fISize\fP[k|UNIT] ] + .ad b .br +Every leg of the mirrored logical volume could be placed on the pvs with +same tag, see details(mirror_legs_require_separate_pvs) in lvm.conf. + +.br - Using \fBmirrored\fP will create a persistent log that is itself mirrored. - . - .HP ++Using \fBmirrored\fP will create a persistent log that is itself mirrored. ++. ++.HP + .ad l + [ \fB-R\fP|\fB--regionsize\fP \fISize\fP[m|UNIT] ] + .ad b +-- +2.10.2 + Index: LVM2.2.02.169.tgz =================================================================== Binary file LVM2.2.02.169.tgz (revision 5) added Index: LVM2.2.02.169.tgz.asc =================================================================== --- LVM2.2.02.169.tgz.asc (added) +++ LVM2.2.02.169.tgz.asc (revision 5) @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.14 (GNU/Linux) + +iEYEABECAAYFAljafgEACgkQIoGRwVZ+LBeo5wCfVaQeSN73FPcJf86c3aqrFmZu +Rs0AoJ6l75QbY2V55rhunJvwwDllKlpF +=0Jtt +-----END PGP SIGNATURE----- Index: LVM2.2.02.168.tgz =================================================================== Binary file LVM2.2.02.168.tgz (revision 176) deleted Index: LVM2.2.02.168.tgz.asc =================================================================== --- LVM2.2.02.168.tgz.asc (revision 176) +++ LVM2.2.02.168.tgz.asc (deleted) @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.14 (GNU/Linux) - -iEUEABECAAYFAlg/XqMACgkQIoGRwVZ+LBdjQACVGeU4I+B5ETIhINJeYXy2bLNu -hQCgxEmGwG0ec2frSXhQociTYfT6vVc= -=T5md ------END PGP SIGNATURE----- OBS-URL: https://build.opensuse.org/request/show/487889 OBS-URL: https://build.opensuse.org/package/show/Base:System/lvm2?expand=0&rev=177
2017-04-18 12:55:18 +02:00
diff --git a/man/lvcreate.8_pregen b/man/lvcreate.8_pregen
index 6b05147..7c1beab 100644
Accepting request 487889 from home:jnelson-suse:branches:Base:System - Update device mapper version to 1.02.138, see WHATS_NEW_DM for detailed changelogs * Drop obsolete lvmchange files accordingly - Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch - Refresh make-mirror-legs-on-different-tag-pvs.patch - device-mapper-dmsetup-export.patch - LVM version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM files for detailed changelogs old: Base:System/lvm2 new: home:jnelson-suse:branches:Base:System/lvm2 rev None Index: device-mapper-dmsetup-export.patch =================================================================== --- device-mapper-dmsetup-export.patch (revision 176) +++ device-mapper-dmsetup-export.patch (revision 5) @@ -1,7 +1,20 @@ -Index: LVM2.2.02.139/man/dmsetup.8.in +From b148cb1c1e801455cb774f51eecd57f7e4f98c39 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:58:56 +0800 +Subject: [PATCH] DM: add dmsetup export + +bsc#479104 + +Patch-refreshed-by: Eric Ren <zren@suse.com> +--- + man/dmsetup.8_main | 16 +++- + tools/dmsetup.c | 252 ++++++++++++++++++++++++++++++++++++++++++++++++++++- + 2 files changed, 266 insertions(+), 2 deletions(-) + +Index: LVM2.2.02.169/man/dmsetup.8_main =================================================================== ---- LVM2.2.02.139.orig/man/dmsetup.8.in -+++ LVM2.2.02.139/man/dmsetup.8.in +--- LVM2.2.02.169.orig/man/dmsetup.8_main ++++ LVM2.2.02.169/man/dmsetup.8_main @@ -97,7 +97,15 @@ dmsetup \(em low level logical volume ma .. .CMD_LOAD @@ -23,20 +36,20 @@ See below for more information on the table format. . .HP -+.BR \-\-export ++.BR --export +.IR export +.br +Outputs information in key/value format to be imported by other programs. +. +.HP - .BR \-\-udevcookie + .BR --udevcookie .IR cookie .br -Index: LVM2.2.02.139/tools/dmsetup.c +Index: LVM2.2.02.169/tools/dmsetup.c =================================================================== ---- LVM2.2.02.139.orig/tools/dmsetup.c -+++ LVM2.2.02.139/tools/dmsetup.c -@@ -2177,6 +2177,129 @@ out: +--- LVM2.2.02.169.orig/tools/dmsetup.c ++++ LVM2.2.02.169/tools/dmsetup.c +@@ -2231,6 +2231,129 @@ out: return r; } @@ -166,11 +179,16 @@ /* Show target names and their version numbers */ static int _targets(CMD_ARGS) { -@@ -5138,6 +5261,7 @@ static struct command _dmsetup_commands[ - {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, - {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, - {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +@@ -5904,7 +6027,11 @@ static struct command _dmsetup_commands[ + {"deps", "[-o <options>] [<device>...]", 0, -1, 1, 0, _deps}, + {"stats", "<command> [<options>] [<device>...]", 1, -1, 1, 1, _stats}, + {"status", "[<device>...] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +- {"table", "[<device>...] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, ++ {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, ++ {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, + {"export", "[<device>]", 0, -1, 1, 0, _export}, - {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, {"wait", "<device> [<event_nr>] [--noflush]", 0, 2, 0, 0, _wait}, - {"mknodes", "[<device>]", 0, -1, 1, 0, _mknodes}, + {"mknodes", "[<device>...]", 0, -1, 1, 0, _mknodes}, + {"mangle", "[<device>...]", 0, -1, 1, 0, _mangle}, Index: device-mapper.changes =================================================================== --- device-mapper.changes (revision 176) +++ device-mapper.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: device-mapper.spec =================================================================== --- device-mapper.spec (revision 176) +++ device-mapper.spec (revision 5) @@ -19,8 +19,8 @@ %define libname libdevmapper1_03 %define libname_event libdevmapper-event1_03 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: device-mapper Index: libdm-iface-not-output-error-message-inside-retry-loop.patch =================================================================== --- libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 176) +++ libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 5) @@ -1,22 +1,25 @@ -From a70f17fd1dc9a8cccefb946c3501d5cb6f2766bb Mon Sep 17 00:00:00 2001 -From: Liuhua Wang <lwang@suse.com> -Date: Mon, 23 Nov 2015 13:49:39 +0800 +From 3c4d9dd3571e89545d97c8421fd4cbdbaa6895b8 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 11:09:26 +0800 Subject: [PATCH] libdm-iface: not output error message inside retry loops -This is a workaround to avoid noisy error message being output inside retry loops -in case of remove failure because device busy. But as to the replies from upstream +This is a workaround to avoid noisy error message being output inside +retry loops +in case of remove failure because device busy. But as to the replies +from upstream there may be some issues in udev operations. References: bsc#940298 boo#957059 Signed-off-by: lwang@suse.com +Patch-refreshed-by: Eric Ren <zren@suse.com> --- - libdm/ioctl/libdm-iface.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + libdm/ioctl/libdm-iface.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) -Index: LVM2.2.02.141/libdm/ioctl/libdm-iface.c -=================================================================== ---- LVM2.2.02.141.orig/libdm/ioctl/libdm-iface.c -+++ LVM2.2.02.141/libdm/ioctl/libdm-iface.c +diff --git a/libdm/ioctl/libdm-iface.c b/libdm/ioctl/libdm-iface.c +index cb3e8dc..c1c0771 100644 +--- a/libdm/ioctl/libdm-iface.c ++++ b/libdm/ioctl/libdm-iface.c @@ -62,6 +62,7 @@ */ #define MAPPER_CTRL_MINOR 236 @@ -25,15 +28,17 @@ /* dm major version no for running kernel */ static unsigned _dm_version = DM_VERSION_MAJOR; -@@ -1862,7 +1863,7 @@ static struct dm_ioctl *_do_dm_ioctl(str +@@ -1862,8 +1863,8 @@ static struct dm_ioctl *_do_dm_ioctl(struct dm_task *dmt, unsigned command, dmt->major > 0 && dmt->minor == 0 ? "0" : "", dmt->major > 0 ? ")" : "", strerror(dmt->ioctl_errno)); - else +- log_error("device-mapper: %s ioctl on %s %s%s%.0d%s%.0d%s%s " + else if(errno != EBUSY || retry_repeat_count == DM_IOCTL_RETRIES) - log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " ++ log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " "failed: %s", _cmd_data_v4[dmt->type].name, + dmi->name, dmi->uuid, @@ -1915,7 +1916,6 @@ void dm_task_update_nodes(void) update_devs(); } @@ -42,3 +47,6 @@ #define DM_RETRY_USLEEP_DELAY 200000 int dm_task_get_errno(struct dm_task *dmt) +-- +2.10.2 + Index: lvm2-clvm.changes =================================================================== --- lvm2-clvm.changes (revision 176) +++ lvm2-clvm.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2-clvm.spec =================================================================== --- lvm2-clvm.spec (revision 176) +++ lvm2-clvm.spec (revision 5) @@ -19,8 +19,8 @@ %define dlm_version 3.99.1 %define sanlock_version 3.3.0 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2-clvm Index: lvm2.changes =================================================================== --- lvm2.changes (revision 176) +++ lvm2.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2.spec =================================================================== --- lvm2.spec (revision 176) +++ lvm2.spec (revision 5) @@ -20,8 +20,8 @@ %define applib liblvm2app2_2 %define cmdlib liblvm2cmd2_02 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2 @@ -282,7 +282,6 @@ %{_sbindir}/lvcreate %{_sbindir}/lvdisplay %{_sbindir}/lvextend -%{_sbindir}/lvmchange %{_sbindir}/lvmdiskscan %{_sbindir}/lvmsadc %{_sbindir}/lvmsar @@ -336,7 +335,6 @@ /sbin/lvcreate /sbin/lvdisplay /sbin/lvextend -/sbin/lvmchange /sbin/lvmdiskscan /sbin/lvmsadc /sbin/lvmsar @@ -391,7 +389,6 @@ %{_mandir}/man8/lvm-config.8%{ext_man} %{_mandir}/man8/lvmconfig.8%{ext_man} %{_mandir}/man8/lvm-dumpconfig.8%{ext_man} -%{_mandir}/man8/lvmchange.8%{ext_man} %{_mandir}/man8/lvmconf.8%{ext_man} %{_mandir}/man8/lvmdiskscan.8%{ext_man} %{_mandir}/man8/lvmdump.8%{ext_man} Index: make-mirror-legs-on-different-tag-pvs.patch =================================================================== --- make-mirror-legs-on-different-tag-pvs.patch (revision 176) +++ make-mirror-legs-on-different-tag-pvs.patch (revision 5) @@ -1,10 +1,10 @@ -From 49a5da732c74b8b96bc123a541d590c4fd06d7af Mon Sep 17 00:00:00 2001 -From: Guangliang Zhao <gzhao@suse.com> -Date: Mon, 12 Nov 2012 15:28:11 +0800 -Subject: [PATCH 1/2] mirror: make mirror legs on different tag pvs +From b17f2ae4334f9233a88d7a2fcae325f86691beb0 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:44:30 +0800 +Subject: [PATCH] [PATCH 1/2] mirror: make mirror legs on different tag pvs -The mirror legs could be placed on the PVs(with different -tags) from the other mirror legs with this patch. +The mirror legs could be placed on the PVs(with different tags) +from the other mirror legs with this patch. The lvcreate allocates the replica "randomly" when creating a mirrored logical volume now, so it could happen that both @@ -17,18 +17,19 @@ always be placed on pvs with differnt tags. Signed-off-by: Guangliang Zhao <gzhao@suse.com> +Fix-conflict-by: Eric Ren <zren@suse.com> --- - conf/example.conf.in | 17 +++++++++++++++++ - lib/config/config_settings.h | 3 +++ - lib/config/defaults.h | 1 + - lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ - man/lvcreate.8.in | 4 ++++ - 5 files changed, 60 insertions(+) + conf/example.conf.in | 17 +++++++++++++++++ + lib/config/config_settings.h | 5 ++++- + lib/config/defaults.h | 1 + + lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ + man/lvcreate.8_pregen | 7 +++++++ + 5 files changed, 64 insertions(+), 1 deletion(-) -Index: LVM2.2.02.165/conf/example.conf.in -=================================================================== ---- LVM2.2.02.165.orig/conf/example.conf.in -+++ LVM2.2.02.165/conf/example.conf.in +diff --git a/conf/example.conf.in b/conf/example.conf.in +index 614ce53..b33289f 100644 +--- a/conf/example.conf.in ++++ b/conf/example.conf.in @@ -372,6 +372,23 @@ allocation { # or erased unless the --wipesignatures option is used directly. wipe_signatures_when_zeroing_new_lvs = 1 @@ -53,25 +54,27 @@ # Configuration option allocation/mirror_logs_require_separate_pvs. # Mirror logs and images will always use different PVs. # The default setting changed in version 2.02.85. -Index: LVM2.2.02.165/lib/config/config_settings.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/config_settings.h -+++ LVM2.2.02.165/lib/config/config_settings.h -@@ -473,6 +473,9 @@ cfg(allocation_raid_stripe_all_devices_C +diff --git a/lib/config/config_settings.h b/lib/config/config_settings.h +index b701722..0e5a5e2 100644 +--- a/lib/config/config_settings.h ++++ b/lib/config/config_settings.h +@@ -473,7 +473,10 @@ cfg(allocation_raid_stripe_all_devices_CFG, "raid_stripe_all_devices", allocatio "when the command does not specify the number of stripes to use.\n" "This was the default behaviour until release 2.02.162.\n") +-cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, +cfg(allocation_mirror_legs_require_separate_pvs_CFG, "mirror_legs_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_MIRROR_LEGS_REQUIRE_SEPARATE_PVS, vsn(2, 2, 98), NULL, 0, NULL, + "Mirror legs will always use different PVs.\n") + - cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, ++cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, "Cache pool metadata and data will always use different PVs.\n") -Index: LVM2.2.02.165/lib/config/defaults.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/defaults.h -+++ LVM2.2.02.165/lib/config/defaults.h -@@ -158,6 +158,7 @@ + cfg(allocation_cache_pool_cachemode_CFG, "cache_pool_cachemode", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA | CFG_DEFAULT_COMMENTED, CFG_TYPE_STRING, DEFAULT_CACHE_MODE, vsn(2, 2, 113), NULL, vsn(2, 2, 128), +diff --git a/lib/config/defaults.h b/lib/config/defaults.h +index 2340636..256fab6 100644 +--- a/lib/config/defaults.h ++++ b/lib/config/defaults.h +@@ -159,6 +159,7 @@ #define DEFAULT_MAX_LV 0 #define DEFAULT_ALLOC_POLICY ALLOC_NORMAL #define DEFAULT_MIRROR_LOGS_REQUIRE_SEPARATE_PVS 0 @@ -79,11 +82,11 @@ #define DEFAULT_MAXIMISE_CLING 1 #define DEFAULT_CLUSTERED 0 -Index: LVM2.2.02.165/lib/metadata/lv_manip.c -=================================================================== ---- LVM2.2.02.165.orig/lib/metadata/lv_manip.c -+++ LVM2.2.02.165/lib/metadata/lv_manip.c -@@ -1519,6 +1519,9 @@ struct alloc_handle { +diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c +index 0dfbad4..357e46a 100644 +--- a/lib/metadata/lv_manip.c ++++ b/lib/metadata/lv_manip.c +@@ -1622,6 +1622,9 @@ struct alloc_handle { unsigned maximise_cling; unsigned mirror_logs_separate; /* Force mirror logs on separate PVs? */ @@ -93,7 +96,7 @@ /* * RAID devices require a metadata area that accompanies each -@@ -2633,6 +2636,32 @@ static int _limit_to_one_area_per_tag(st +@@ -2736,6 +2739,32 @@ static int _limit_to_one_area_per_tag(struct alloc_handle *ah, struct alloc_stat } /* @@ -126,7 +129,7 @@ * Returns 1 regardless of whether any space was found, except on error. */ static int _find_some_parallel_space(struct alloc_handle *ah, -@@ -2762,6 +2791,10 @@ static int _find_some_parallel_space(str +@@ -2865,6 +2894,10 @@ static int _find_some_parallel_space(struct alloc_handle *ah, continue; case USE_AREA: @@ -137,7 +140,7 @@ /* * Except with ALLOC_ANYWHERE, replace first area with this * one which is smaller but still big enough. -@@ -3243,6 +3276,7 @@ static struct alloc_handle *_alloc_init( +@@ -3355,6 +3388,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->parity_count = parity_count; ah->region_size = region_size; ah->alloc = alloc; @@ -145,7 +148,7 @@ /* * For the purposes of allocation, area_count and parity_count are -@@ -3254,6 +3288,7 @@ static struct alloc_handle *_alloc_init( +@@ -3366,6 +3400,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->area_multiple = _calc_area_multiple(segtype, area_count + parity_count, stripes); //FIXME: s/mirror_logs_separate/metadata_separate/ so it can be used by others? ah->mirror_logs_separate = find_config_tree_bool(cmd, allocation_mirror_logs_require_separate_pvs_CFG, NULL); @@ -153,18 +156,24 @@ if (mirrors || stripes) total_extents = new_extents; -Index: LVM2.2.02.165/man/lvcreate.8.in -=================================================================== ---- LVM2.2.02.165.orig/man/lvcreate.8.in -+++ LVM2.2.02.165/man/lvcreate.8.in -@@ -418,6 +418,10 @@ Using \fBcore\fP means the mirror is reg - from the first device each time the logical volume is activated, - like after every reboot. +diff --git a/man/lvcreate.8_pregen b/man/lvcreate.8_pregen +index 6663087..c385927 100644 +--- a/man/lvcreate.8_pregen ++++ b/man/lvcreate.8_pregen +@@ -416,6 +416,13 @@ Create a raid10 LV. + [ \fB-I\fP|\fB--stripesize\fP \fISize\fP[k|UNIT] ] + .ad b .br +Every leg of the mirrored logical volume could be placed on the pvs with +same tag, see details(mirror_legs_require_separate_pvs) in lvm.conf. + +.br - Using \fBmirrored\fP will create a persistent log that is itself mirrored. - . - .HP ++Using \fBmirrored\fP will create a persistent log that is itself mirrored. ++. ++.HP + .ad l + [ \fB-R\fP|\fB--regionsize\fP \fISize\fP[m|UNIT] ] + .ad b +-- +2.10.2 + Index: LVM2.2.02.169.tgz =================================================================== Binary file LVM2.2.02.169.tgz (revision 5) added Index: LVM2.2.02.169.tgz.asc =================================================================== --- LVM2.2.02.169.tgz.asc (added) +++ LVM2.2.02.169.tgz.asc (revision 5) @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.14 (GNU/Linux) + +iEYEABECAAYFAljafgEACgkQIoGRwVZ+LBeo5wCfVaQeSN73FPcJf86c3aqrFmZu +Rs0AoJ6l75QbY2V55rhunJvwwDllKlpF +=0Jtt +-----END PGP SIGNATURE----- Index: LVM2.2.02.168.tgz =================================================================== Binary file LVM2.2.02.168.tgz (revision 176) deleted Index: LVM2.2.02.168.tgz.asc =================================================================== --- LVM2.2.02.168.tgz.asc (revision 176) +++ LVM2.2.02.168.tgz.asc (deleted) @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.14 (GNU/Linux) - -iEUEABECAAYFAlg/XqMACgkQIoGRwVZ+LBdjQACVGeU4I+B5ETIhINJeYXy2bLNu -hQCgxEmGwG0ec2frSXhQociTYfT6vVc= -=T5md ------END PGP SIGNATURE----- OBS-URL: https://build.opensuse.org/request/show/487889 OBS-URL: https://build.opensuse.org/package/show/Base:System/lvm2?expand=0&rev=177
2017-04-18 12:55:18 +02:00
--- a/man/lvcreate.8_pregen
+++ b/man/lvcreate.8_pregen
@@ -415,6 +415,13 @@ Create a raid10 LV.
Accepting request 487889 from home:jnelson-suse:branches:Base:System - Update device mapper version to 1.02.138, see WHATS_NEW_DM for detailed changelogs * Drop obsolete lvmchange files accordingly - Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch - Refresh make-mirror-legs-on-different-tag-pvs.patch - device-mapper-dmsetup-export.patch - LVM version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM files for detailed changelogs old: Base:System/lvm2 new: home:jnelson-suse:branches:Base:System/lvm2 rev None Index: device-mapper-dmsetup-export.patch =================================================================== --- device-mapper-dmsetup-export.patch (revision 176) +++ device-mapper-dmsetup-export.patch (revision 5) @@ -1,7 +1,20 @@ -Index: LVM2.2.02.139/man/dmsetup.8.in +From b148cb1c1e801455cb774f51eecd57f7e4f98c39 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:58:56 +0800 +Subject: [PATCH] DM: add dmsetup export + +bsc#479104 + +Patch-refreshed-by: Eric Ren <zren@suse.com> +--- + man/dmsetup.8_main | 16 +++- + tools/dmsetup.c | 252 ++++++++++++++++++++++++++++++++++++++++++++++++++++- + 2 files changed, 266 insertions(+), 2 deletions(-) + +Index: LVM2.2.02.169/man/dmsetup.8_main =================================================================== ---- LVM2.2.02.139.orig/man/dmsetup.8.in -+++ LVM2.2.02.139/man/dmsetup.8.in +--- LVM2.2.02.169.orig/man/dmsetup.8_main ++++ LVM2.2.02.169/man/dmsetup.8_main @@ -97,7 +97,15 @@ dmsetup \(em low level logical volume ma .. .CMD_LOAD @@ -23,20 +36,20 @@ See below for more information on the table format. . .HP -+.BR \-\-export ++.BR --export +.IR export +.br +Outputs information in key/value format to be imported by other programs. +. +.HP - .BR \-\-udevcookie + .BR --udevcookie .IR cookie .br -Index: LVM2.2.02.139/tools/dmsetup.c +Index: LVM2.2.02.169/tools/dmsetup.c =================================================================== ---- LVM2.2.02.139.orig/tools/dmsetup.c -+++ LVM2.2.02.139/tools/dmsetup.c -@@ -2177,6 +2177,129 @@ out: +--- LVM2.2.02.169.orig/tools/dmsetup.c ++++ LVM2.2.02.169/tools/dmsetup.c +@@ -2231,6 +2231,129 @@ out: return r; } @@ -166,11 +179,16 @@ /* Show target names and their version numbers */ static int _targets(CMD_ARGS) { -@@ -5138,6 +5261,7 @@ static struct command _dmsetup_commands[ - {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, - {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, - {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +@@ -5904,7 +6027,11 @@ static struct command _dmsetup_commands[ + {"deps", "[-o <options>] [<device>...]", 0, -1, 1, 0, _deps}, + {"stats", "<command> [<options>] [<device>...]", 1, -1, 1, 1, _stats}, + {"status", "[<device>...] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +- {"table", "[<device>...] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, ++ {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, ++ {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, + {"export", "[<device>]", 0, -1, 1, 0, _export}, - {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, {"wait", "<device> [<event_nr>] [--noflush]", 0, 2, 0, 0, _wait}, - {"mknodes", "[<device>]", 0, -1, 1, 0, _mknodes}, + {"mknodes", "[<device>...]", 0, -1, 1, 0, _mknodes}, + {"mangle", "[<device>...]", 0, -1, 1, 0, _mangle}, Index: device-mapper.changes =================================================================== --- device-mapper.changes (revision 176) +++ device-mapper.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: device-mapper.spec =================================================================== --- device-mapper.spec (revision 176) +++ device-mapper.spec (revision 5) @@ -19,8 +19,8 @@ %define libname libdevmapper1_03 %define libname_event libdevmapper-event1_03 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: device-mapper Index: libdm-iface-not-output-error-message-inside-retry-loop.patch =================================================================== --- libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 176) +++ libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 5) @@ -1,22 +1,25 @@ -From a70f17fd1dc9a8cccefb946c3501d5cb6f2766bb Mon Sep 17 00:00:00 2001 -From: Liuhua Wang <lwang@suse.com> -Date: Mon, 23 Nov 2015 13:49:39 +0800 +From 3c4d9dd3571e89545d97c8421fd4cbdbaa6895b8 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 11:09:26 +0800 Subject: [PATCH] libdm-iface: not output error message inside retry loops -This is a workaround to avoid noisy error message being output inside retry loops -in case of remove failure because device busy. But as to the replies from upstream +This is a workaround to avoid noisy error message being output inside +retry loops +in case of remove failure because device busy. But as to the replies +from upstream there may be some issues in udev operations. References: bsc#940298 boo#957059 Signed-off-by: lwang@suse.com +Patch-refreshed-by: Eric Ren <zren@suse.com> --- - libdm/ioctl/libdm-iface.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + libdm/ioctl/libdm-iface.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) -Index: LVM2.2.02.141/libdm/ioctl/libdm-iface.c -=================================================================== ---- LVM2.2.02.141.orig/libdm/ioctl/libdm-iface.c -+++ LVM2.2.02.141/libdm/ioctl/libdm-iface.c +diff --git a/libdm/ioctl/libdm-iface.c b/libdm/ioctl/libdm-iface.c +index cb3e8dc..c1c0771 100644 +--- a/libdm/ioctl/libdm-iface.c ++++ b/libdm/ioctl/libdm-iface.c @@ -62,6 +62,7 @@ */ #define MAPPER_CTRL_MINOR 236 @@ -25,15 +28,17 @@ /* dm major version no for running kernel */ static unsigned _dm_version = DM_VERSION_MAJOR; -@@ -1862,7 +1863,7 @@ static struct dm_ioctl *_do_dm_ioctl(str +@@ -1862,8 +1863,8 @@ static struct dm_ioctl *_do_dm_ioctl(struct dm_task *dmt, unsigned command, dmt->major > 0 && dmt->minor == 0 ? "0" : "", dmt->major > 0 ? ")" : "", strerror(dmt->ioctl_errno)); - else +- log_error("device-mapper: %s ioctl on %s %s%s%.0d%s%.0d%s%s " + else if(errno != EBUSY || retry_repeat_count == DM_IOCTL_RETRIES) - log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " ++ log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " "failed: %s", _cmd_data_v4[dmt->type].name, + dmi->name, dmi->uuid, @@ -1915,7 +1916,6 @@ void dm_task_update_nodes(void) update_devs(); } @@ -42,3 +47,6 @@ #define DM_RETRY_USLEEP_DELAY 200000 int dm_task_get_errno(struct dm_task *dmt) +-- +2.10.2 + Index: lvm2-clvm.changes =================================================================== --- lvm2-clvm.changes (revision 176) +++ lvm2-clvm.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2-clvm.spec =================================================================== --- lvm2-clvm.spec (revision 176) +++ lvm2-clvm.spec (revision 5) @@ -19,8 +19,8 @@ %define dlm_version 3.99.1 %define sanlock_version 3.3.0 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2-clvm Index: lvm2.changes =================================================================== --- lvm2.changes (revision 176) +++ lvm2.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2.spec =================================================================== --- lvm2.spec (revision 176) +++ lvm2.spec (revision 5) @@ -20,8 +20,8 @@ %define applib liblvm2app2_2 %define cmdlib liblvm2cmd2_02 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2 @@ -282,7 +282,6 @@ %{_sbindir}/lvcreate %{_sbindir}/lvdisplay %{_sbindir}/lvextend -%{_sbindir}/lvmchange %{_sbindir}/lvmdiskscan %{_sbindir}/lvmsadc %{_sbindir}/lvmsar @@ -336,7 +335,6 @@ /sbin/lvcreate /sbin/lvdisplay /sbin/lvextend -/sbin/lvmchange /sbin/lvmdiskscan /sbin/lvmsadc /sbin/lvmsar @@ -391,7 +389,6 @@ %{_mandir}/man8/lvm-config.8%{ext_man} %{_mandir}/man8/lvmconfig.8%{ext_man} %{_mandir}/man8/lvm-dumpconfig.8%{ext_man} -%{_mandir}/man8/lvmchange.8%{ext_man} %{_mandir}/man8/lvmconf.8%{ext_man} %{_mandir}/man8/lvmdiskscan.8%{ext_man} %{_mandir}/man8/lvmdump.8%{ext_man} Index: make-mirror-legs-on-different-tag-pvs.patch =================================================================== --- make-mirror-legs-on-different-tag-pvs.patch (revision 176) +++ make-mirror-legs-on-different-tag-pvs.patch (revision 5) @@ -1,10 +1,10 @@ -From 49a5da732c74b8b96bc123a541d590c4fd06d7af Mon Sep 17 00:00:00 2001 -From: Guangliang Zhao <gzhao@suse.com> -Date: Mon, 12 Nov 2012 15:28:11 +0800 -Subject: [PATCH 1/2] mirror: make mirror legs on different tag pvs +From b17f2ae4334f9233a88d7a2fcae325f86691beb0 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:44:30 +0800 +Subject: [PATCH] [PATCH 1/2] mirror: make mirror legs on different tag pvs -The mirror legs could be placed on the PVs(with different -tags) from the other mirror legs with this patch. +The mirror legs could be placed on the PVs(with different tags) +from the other mirror legs with this patch. The lvcreate allocates the replica "randomly" when creating a mirrored logical volume now, so it could happen that both @@ -17,18 +17,19 @@ always be placed on pvs with differnt tags. Signed-off-by: Guangliang Zhao <gzhao@suse.com> +Fix-conflict-by: Eric Ren <zren@suse.com> --- - conf/example.conf.in | 17 +++++++++++++++++ - lib/config/config_settings.h | 3 +++ - lib/config/defaults.h | 1 + - lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ - man/lvcreate.8.in | 4 ++++ - 5 files changed, 60 insertions(+) + conf/example.conf.in | 17 +++++++++++++++++ + lib/config/config_settings.h | 5 ++++- + lib/config/defaults.h | 1 + + lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ + man/lvcreate.8_pregen | 7 +++++++ + 5 files changed, 64 insertions(+), 1 deletion(-) -Index: LVM2.2.02.165/conf/example.conf.in -=================================================================== ---- LVM2.2.02.165.orig/conf/example.conf.in -+++ LVM2.2.02.165/conf/example.conf.in +diff --git a/conf/example.conf.in b/conf/example.conf.in +index 614ce53..b33289f 100644 +--- a/conf/example.conf.in ++++ b/conf/example.conf.in @@ -372,6 +372,23 @@ allocation { # or erased unless the --wipesignatures option is used directly. wipe_signatures_when_zeroing_new_lvs = 1 @@ -53,25 +54,27 @@ # Configuration option allocation/mirror_logs_require_separate_pvs. # Mirror logs and images will always use different PVs. # The default setting changed in version 2.02.85. -Index: LVM2.2.02.165/lib/config/config_settings.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/config_settings.h -+++ LVM2.2.02.165/lib/config/config_settings.h -@@ -473,6 +473,9 @@ cfg(allocation_raid_stripe_all_devices_C +diff --git a/lib/config/config_settings.h b/lib/config/config_settings.h +index b701722..0e5a5e2 100644 +--- a/lib/config/config_settings.h ++++ b/lib/config/config_settings.h +@@ -473,7 +473,10 @@ cfg(allocation_raid_stripe_all_devices_CFG, "raid_stripe_all_devices", allocatio "when the command does not specify the number of stripes to use.\n" "This was the default behaviour until release 2.02.162.\n") +-cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, +cfg(allocation_mirror_legs_require_separate_pvs_CFG, "mirror_legs_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_MIRROR_LEGS_REQUIRE_SEPARATE_PVS, vsn(2, 2, 98), NULL, 0, NULL, + "Mirror legs will always use different PVs.\n") + - cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, ++cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, "Cache pool metadata and data will always use different PVs.\n") -Index: LVM2.2.02.165/lib/config/defaults.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/defaults.h -+++ LVM2.2.02.165/lib/config/defaults.h -@@ -158,6 +158,7 @@ + cfg(allocation_cache_pool_cachemode_CFG, "cache_pool_cachemode", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA | CFG_DEFAULT_COMMENTED, CFG_TYPE_STRING, DEFAULT_CACHE_MODE, vsn(2, 2, 113), NULL, vsn(2, 2, 128), +diff --git a/lib/config/defaults.h b/lib/config/defaults.h +index 2340636..256fab6 100644 +--- a/lib/config/defaults.h ++++ b/lib/config/defaults.h +@@ -159,6 +159,7 @@ #define DEFAULT_MAX_LV 0 #define DEFAULT_ALLOC_POLICY ALLOC_NORMAL #define DEFAULT_MIRROR_LOGS_REQUIRE_SEPARATE_PVS 0 @@ -79,11 +82,11 @@ #define DEFAULT_MAXIMISE_CLING 1 #define DEFAULT_CLUSTERED 0 -Index: LVM2.2.02.165/lib/metadata/lv_manip.c -=================================================================== ---- LVM2.2.02.165.orig/lib/metadata/lv_manip.c -+++ LVM2.2.02.165/lib/metadata/lv_manip.c -@@ -1519,6 +1519,9 @@ struct alloc_handle { +diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c +index 0dfbad4..357e46a 100644 +--- a/lib/metadata/lv_manip.c ++++ b/lib/metadata/lv_manip.c +@@ -1622,6 +1622,9 @@ struct alloc_handle { unsigned maximise_cling; unsigned mirror_logs_separate; /* Force mirror logs on separate PVs? */ @@ -93,7 +96,7 @@ /* * RAID devices require a metadata area that accompanies each -@@ -2633,6 +2636,32 @@ static int _limit_to_one_area_per_tag(st +@@ -2736,6 +2739,32 @@ static int _limit_to_one_area_per_tag(struct alloc_handle *ah, struct alloc_stat } /* @@ -126,7 +129,7 @@ * Returns 1 regardless of whether any space was found, except on error. */ static int _find_some_parallel_space(struct alloc_handle *ah, -@@ -2762,6 +2791,10 @@ static int _find_some_parallel_space(str +@@ -2865,6 +2894,10 @@ static int _find_some_parallel_space(struct alloc_handle *ah, continue; case USE_AREA: @@ -137,7 +140,7 @@ /* * Except with ALLOC_ANYWHERE, replace first area with this * one which is smaller but still big enough. -@@ -3243,6 +3276,7 @@ static struct alloc_handle *_alloc_init( +@@ -3355,6 +3388,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->parity_count = parity_count; ah->region_size = region_size; ah->alloc = alloc; @@ -145,7 +148,7 @@ /* * For the purposes of allocation, area_count and parity_count are -@@ -3254,6 +3288,7 @@ static struct alloc_handle *_alloc_init( +@@ -3366,6 +3400,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->area_multiple = _calc_area_multiple(segtype, area_count + parity_count, stripes); //FIXME: s/mirror_logs_separate/metadata_separate/ so it can be used by others? ah->mirror_logs_separate = find_config_tree_bool(cmd, allocation_mirror_logs_require_separate_pvs_CFG, NULL); @@ -153,18 +156,24 @@ if (mirrors || stripes) total_extents = new_extents; -Index: LVM2.2.02.165/man/lvcreate.8.in -=================================================================== ---- LVM2.2.02.165.orig/man/lvcreate.8.in -+++ LVM2.2.02.165/man/lvcreate.8.in -@@ -418,6 +418,10 @@ Using \fBcore\fP means the mirror is reg - from the first device each time the logical volume is activated, - like after every reboot. +diff --git a/man/lvcreate.8_pregen b/man/lvcreate.8_pregen +index 6663087..c385927 100644 +--- a/man/lvcreate.8_pregen ++++ b/man/lvcreate.8_pregen +@@ -416,6 +416,13 @@ Create a raid10 LV. + [ \fB-I\fP|\fB--stripesize\fP \fISize\fP[k|UNIT] ] + .ad b .br +Every leg of the mirrored logical volume could be placed on the pvs with +same tag, see details(mirror_legs_require_separate_pvs) in lvm.conf. + +.br - Using \fBmirrored\fP will create a persistent log that is itself mirrored. - . - .HP ++Using \fBmirrored\fP will create a persistent log that is itself mirrored. ++. ++.HP + .ad l + [ \fB-R\fP|\fB--regionsize\fP \fISize\fP[m|UNIT] ] + .ad b +-- +2.10.2 + Index: LVM2.2.02.169.tgz =================================================================== Binary file LVM2.2.02.169.tgz (revision 5) added Index: LVM2.2.02.169.tgz.asc =================================================================== --- LVM2.2.02.169.tgz.asc (added) +++ LVM2.2.02.169.tgz.asc (revision 5) @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.14 (GNU/Linux) + +iEYEABECAAYFAljafgEACgkQIoGRwVZ+LBeo5wCfVaQeSN73FPcJf86c3aqrFmZu +Rs0AoJ6l75QbY2V55rhunJvwwDllKlpF +=0Jtt +-----END PGP SIGNATURE----- Index: LVM2.2.02.168.tgz =================================================================== Binary file LVM2.2.02.168.tgz (revision 176) deleted Index: LVM2.2.02.168.tgz.asc =================================================================== --- LVM2.2.02.168.tgz.asc (revision 176) +++ LVM2.2.02.168.tgz.asc (deleted) @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.14 (GNU/Linux) - -iEUEABECAAYFAlg/XqMACgkQIoGRwVZ+LBdjQACVGeU4I+B5ETIhINJeYXy2bLNu -hQCgxEmGwG0ec2frSXhQociTYfT6vVc= -=T5md ------END PGP SIGNATURE----- OBS-URL: https://build.opensuse.org/request/show/487889 OBS-URL: https://build.opensuse.org/package/show/Base:System/lvm2?expand=0&rev=177
2017-04-18 12:55:18 +02:00
[ \fB-I\fP|\fB--stripesize\fP \fISize\fP[k|UNIT] ]
.ad b
.br
+Every leg of the mirrored logical volume could be placed on the pvs with
+same tag, see details(mirror_legs_require_separate_pvs) in lvm.conf.
+
+.br
Accepting request 487889 from home:jnelson-suse:branches:Base:System - Update device mapper version to 1.02.138, see WHATS_NEW_DM for detailed changelogs * Drop obsolete lvmchange files accordingly - Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch - Refresh make-mirror-legs-on-different-tag-pvs.patch - device-mapper-dmsetup-export.patch - LVM version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM files for detailed changelogs old: Base:System/lvm2 new: home:jnelson-suse:branches:Base:System/lvm2 rev None Index: device-mapper-dmsetup-export.patch =================================================================== --- device-mapper-dmsetup-export.patch (revision 176) +++ device-mapper-dmsetup-export.patch (revision 5) @@ -1,7 +1,20 @@ -Index: LVM2.2.02.139/man/dmsetup.8.in +From b148cb1c1e801455cb774f51eecd57f7e4f98c39 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:58:56 +0800 +Subject: [PATCH] DM: add dmsetup export + +bsc#479104 + +Patch-refreshed-by: Eric Ren <zren@suse.com> +--- + man/dmsetup.8_main | 16 +++- + tools/dmsetup.c | 252 ++++++++++++++++++++++++++++++++++++++++++++++++++++- + 2 files changed, 266 insertions(+), 2 deletions(-) + +Index: LVM2.2.02.169/man/dmsetup.8_main =================================================================== ---- LVM2.2.02.139.orig/man/dmsetup.8.in -+++ LVM2.2.02.139/man/dmsetup.8.in +--- LVM2.2.02.169.orig/man/dmsetup.8_main ++++ LVM2.2.02.169/man/dmsetup.8_main @@ -97,7 +97,15 @@ dmsetup \(em low level logical volume ma .. .CMD_LOAD @@ -23,20 +36,20 @@ See below for more information on the table format. . .HP -+.BR \-\-export ++.BR --export +.IR export +.br +Outputs information in key/value format to be imported by other programs. +. +.HP - .BR \-\-udevcookie + .BR --udevcookie .IR cookie .br -Index: LVM2.2.02.139/tools/dmsetup.c +Index: LVM2.2.02.169/tools/dmsetup.c =================================================================== ---- LVM2.2.02.139.orig/tools/dmsetup.c -+++ LVM2.2.02.139/tools/dmsetup.c -@@ -2177,6 +2177,129 @@ out: +--- LVM2.2.02.169.orig/tools/dmsetup.c ++++ LVM2.2.02.169/tools/dmsetup.c +@@ -2231,6 +2231,129 @@ out: return r; } @@ -166,11 +179,16 @@ /* Show target names and their version numbers */ static int _targets(CMD_ARGS) { -@@ -5138,6 +5261,7 @@ static struct command _dmsetup_commands[ - {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, - {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, - {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +@@ -5904,7 +6027,11 @@ static struct command _dmsetup_commands[ + {"deps", "[-o <options>] [<device>...]", 0, -1, 1, 0, _deps}, + {"stats", "<command> [<options>] [<device>...]", 1, -1, 1, 1, _stats}, + {"status", "[<device>...] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, +- {"table", "[<device>...] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"deps", "[-o <options>] [<device>]", 0, -1, 1, 0, _deps}, ++ {"stats", "<command> [<options>] [<devices>]", 1, -1, 1, 1, _stats}, ++ {"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, 0, _status}, + {"export", "[<device>]", 0, -1, 1, 0, _export}, - {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, ++ {"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, 0, _status}, {"wait", "<device> [<event_nr>] [--noflush]", 0, 2, 0, 0, _wait}, - {"mknodes", "[<device>]", 0, -1, 1, 0, _mknodes}, + {"mknodes", "[<device>...]", 0, -1, 1, 0, _mknodes}, + {"mangle", "[<device>...]", 0, -1, 1, 0, _mangle}, Index: device-mapper.changes =================================================================== --- device-mapper.changes (revision 176) +++ device-mapper.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: device-mapper.spec =================================================================== --- device-mapper.spec (revision 176) +++ device-mapper.spec (revision 5) @@ -19,8 +19,8 @@ %define libname libdevmapper1_03 %define libname_event libdevmapper-event1_03 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: device-mapper Index: libdm-iface-not-output-error-message-inside-retry-loop.patch =================================================================== --- libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 176) +++ libdm-iface-not-output-error-message-inside-retry-loop.patch (revision 5) @@ -1,22 +1,25 @@ -From a70f17fd1dc9a8cccefb946c3501d5cb6f2766bb Mon Sep 17 00:00:00 2001 -From: Liuhua Wang <lwang@suse.com> -Date: Mon, 23 Nov 2015 13:49:39 +0800 +From 3c4d9dd3571e89545d97c8421fd4cbdbaa6895b8 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 11:09:26 +0800 Subject: [PATCH] libdm-iface: not output error message inside retry loops -This is a workaround to avoid noisy error message being output inside retry loops -in case of remove failure because device busy. But as to the replies from upstream +This is a workaround to avoid noisy error message being output inside +retry loops +in case of remove failure because device busy. But as to the replies +from upstream there may be some issues in udev operations. References: bsc#940298 boo#957059 Signed-off-by: lwang@suse.com +Patch-refreshed-by: Eric Ren <zren@suse.com> --- - libdm/ioctl/libdm-iface.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + libdm/ioctl/libdm-iface.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) -Index: LVM2.2.02.141/libdm/ioctl/libdm-iface.c -=================================================================== ---- LVM2.2.02.141.orig/libdm/ioctl/libdm-iface.c -+++ LVM2.2.02.141/libdm/ioctl/libdm-iface.c +diff --git a/libdm/ioctl/libdm-iface.c b/libdm/ioctl/libdm-iface.c +index cb3e8dc..c1c0771 100644 +--- a/libdm/ioctl/libdm-iface.c ++++ b/libdm/ioctl/libdm-iface.c @@ -62,6 +62,7 @@ */ #define MAPPER_CTRL_MINOR 236 @@ -25,15 +28,17 @@ /* dm major version no for running kernel */ static unsigned _dm_version = DM_VERSION_MAJOR; -@@ -1862,7 +1863,7 @@ static struct dm_ioctl *_do_dm_ioctl(str +@@ -1862,8 +1863,8 @@ static struct dm_ioctl *_do_dm_ioctl(struct dm_task *dmt, unsigned command, dmt->major > 0 && dmt->minor == 0 ? "0" : "", dmt->major > 0 ? ")" : "", strerror(dmt->ioctl_errno)); - else +- log_error("device-mapper: %s ioctl on %s %s%s%.0d%s%.0d%s%s " + else if(errno != EBUSY || retry_repeat_count == DM_IOCTL_RETRIES) - log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " ++ log_error("device-mapper: %s ioctl on %s%s%s%.0d%s%.0d%s%s " "failed: %s", _cmd_data_v4[dmt->type].name, + dmi->name, dmi->uuid, @@ -1915,7 +1916,6 @@ void dm_task_update_nodes(void) update_devs(); } @@ -42,3 +47,6 @@ #define DM_RETRY_USLEEP_DELAY 200000 int dm_task_get_errno(struct dm_task *dmt) +-- +2.10.2 + Index: lvm2-clvm.changes =================================================================== --- lvm2-clvm.changes (revision 176) +++ lvm2-clvm.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2-clvm.spec =================================================================== --- lvm2-clvm.spec (revision 176) +++ lvm2-clvm.spec (revision 5) @@ -19,8 +19,8 @@ %define dlm_version 3.99.1 %define sanlock_version 3.3.0 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2-clvm Index: lvm2.changes =================================================================== --- lvm2.changes (revision 176) +++ lvm2.changes (revision 5) @@ -1,4 +1,20 @@ ------------------------------------------------------------------- +Wed Apr 12 01:33:15 UTC 2017 - zren@suse.com + +- Update device mapper version to 1.02.138, see WHATS_NEW_DM for + detailed changelogs + * Drop obsolete lvmchange files accordingly +- Refresh libdm-iface-not-output-error-message-inside-retry-loop.patch +- Refresh make-mirror-legs-on-different-tag-pvs.patch +- device-mapper-dmsetup-export.patch + +------------------------------------------------------------------- +Mon Apr 10 23:08:45 UTC 2017 - jnelson-suse@jamponi.net + +- Version update to 2.02.169 release, see WHATS_NEW and WHATS_NEW_DM + files for detailed changelogs + +------------------------------------------------------------------- Mon Apr 10 10:41:02 UTC 2017 - tchvatal@suse.com - Split configure options to have one per line Index: lvm2.spec =================================================================== --- lvm2.spec (revision 176) +++ lvm2.spec (revision 5) @@ -20,8 +20,8 @@ %define applib liblvm2app2_2 %define cmdlib liblvm2cmd2_02 ### COMMON-DEF-BEGIN ### -%define lvm2_version 2.02.168 -%define device_mapper_version 1.02.137 +%define lvm2_version 2.02.169 +%define device_mapper_version 1.02.138 %define thin_provisioning_version 0.5.6 ### COMMON-DEF-END ### Name: lvm2 @@ -282,7 +282,6 @@ %{_sbindir}/lvcreate %{_sbindir}/lvdisplay %{_sbindir}/lvextend -%{_sbindir}/lvmchange %{_sbindir}/lvmdiskscan %{_sbindir}/lvmsadc %{_sbindir}/lvmsar @@ -336,7 +335,6 @@ /sbin/lvcreate /sbin/lvdisplay /sbin/lvextend -/sbin/lvmchange /sbin/lvmdiskscan /sbin/lvmsadc /sbin/lvmsar @@ -391,7 +389,6 @@ %{_mandir}/man8/lvm-config.8%{ext_man} %{_mandir}/man8/lvmconfig.8%{ext_man} %{_mandir}/man8/lvm-dumpconfig.8%{ext_man} -%{_mandir}/man8/lvmchange.8%{ext_man} %{_mandir}/man8/lvmconf.8%{ext_man} %{_mandir}/man8/lvmdiskscan.8%{ext_man} %{_mandir}/man8/lvmdump.8%{ext_man} Index: make-mirror-legs-on-different-tag-pvs.patch =================================================================== --- make-mirror-legs-on-different-tag-pvs.patch (revision 176) +++ make-mirror-legs-on-different-tag-pvs.patch (revision 5) @@ -1,10 +1,10 @@ -From 49a5da732c74b8b96bc123a541d590c4fd06d7af Mon Sep 17 00:00:00 2001 -From: Guangliang Zhao <gzhao@suse.com> -Date: Mon, 12 Nov 2012 15:28:11 +0800 -Subject: [PATCH 1/2] mirror: make mirror legs on different tag pvs +From b17f2ae4334f9233a88d7a2fcae325f86691beb0 Mon Sep 17 00:00:00 2001 +From: Eric Ren <zren@suse.com> +Date: Tue, 11 Apr 2017 10:44:30 +0800 +Subject: [PATCH] [PATCH 1/2] mirror: make mirror legs on different tag pvs -The mirror legs could be placed on the PVs(with different -tags) from the other mirror legs with this patch. +The mirror legs could be placed on the PVs(with different tags) +from the other mirror legs with this patch. The lvcreate allocates the replica "randomly" when creating a mirrored logical volume now, so it could happen that both @@ -17,18 +17,19 @@ always be placed on pvs with differnt tags. Signed-off-by: Guangliang Zhao <gzhao@suse.com> +Fix-conflict-by: Eric Ren <zren@suse.com> --- - conf/example.conf.in | 17 +++++++++++++++++ - lib/config/config_settings.h | 3 +++ - lib/config/defaults.h | 1 + - lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ - man/lvcreate.8.in | 4 ++++ - 5 files changed, 60 insertions(+) + conf/example.conf.in | 17 +++++++++++++++++ + lib/config/config_settings.h | 5 ++++- + lib/config/defaults.h | 1 + + lib/metadata/lv_manip.c | 35 +++++++++++++++++++++++++++++++++++ + man/lvcreate.8_pregen | 7 +++++++ + 5 files changed, 64 insertions(+), 1 deletion(-) -Index: LVM2.2.02.165/conf/example.conf.in -=================================================================== ---- LVM2.2.02.165.orig/conf/example.conf.in -+++ LVM2.2.02.165/conf/example.conf.in +diff --git a/conf/example.conf.in b/conf/example.conf.in +index 614ce53..b33289f 100644 +--- a/conf/example.conf.in ++++ b/conf/example.conf.in @@ -372,6 +372,23 @@ allocation { # or erased unless the --wipesignatures option is used directly. wipe_signatures_when_zeroing_new_lvs = 1 @@ -53,25 +54,27 @@ # Configuration option allocation/mirror_logs_require_separate_pvs. # Mirror logs and images will always use different PVs. # The default setting changed in version 2.02.85. -Index: LVM2.2.02.165/lib/config/config_settings.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/config_settings.h -+++ LVM2.2.02.165/lib/config/config_settings.h -@@ -473,6 +473,9 @@ cfg(allocation_raid_stripe_all_devices_C +diff --git a/lib/config/config_settings.h b/lib/config/config_settings.h +index b701722..0e5a5e2 100644 +--- a/lib/config/config_settings.h ++++ b/lib/config/config_settings.h +@@ -473,7 +473,10 @@ cfg(allocation_raid_stripe_all_devices_CFG, "raid_stripe_all_devices", allocatio "when the command does not specify the number of stripes to use.\n" "This was the default behaviour until release 2.02.162.\n") +-cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, +cfg(allocation_mirror_legs_require_separate_pvs_CFG, "mirror_legs_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_MIRROR_LEGS_REQUIRE_SEPARATE_PVS, vsn(2, 2, 98), NULL, 0, NULL, + "Mirror legs will always use different PVs.\n") + - cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, ++cfg(allocation_cache_pool_metadata_require_separate_pvs_CFG, "cache_pool_metadata_require_separate_pvs", allocation_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_CACHE_POOL_METADATA_REQUIRE_SEPARATE_PVS, vsn(2, 2, 106), NULL, 0, NULL, "Cache pool metadata and data will always use different PVs.\n") -Index: LVM2.2.02.165/lib/config/defaults.h -=================================================================== ---- LVM2.2.02.165.orig/lib/config/defaults.h -+++ LVM2.2.02.165/lib/config/defaults.h -@@ -158,6 +158,7 @@ + cfg(allocation_cache_pool_cachemode_CFG, "cache_pool_cachemode", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA | CFG_DEFAULT_COMMENTED, CFG_TYPE_STRING, DEFAULT_CACHE_MODE, vsn(2, 2, 113), NULL, vsn(2, 2, 128), +diff --git a/lib/config/defaults.h b/lib/config/defaults.h +index 2340636..256fab6 100644 +--- a/lib/config/defaults.h ++++ b/lib/config/defaults.h +@@ -159,6 +159,7 @@ #define DEFAULT_MAX_LV 0 #define DEFAULT_ALLOC_POLICY ALLOC_NORMAL #define DEFAULT_MIRROR_LOGS_REQUIRE_SEPARATE_PVS 0 @@ -79,11 +82,11 @@ #define DEFAULT_MAXIMISE_CLING 1 #define DEFAULT_CLUSTERED 0 -Index: LVM2.2.02.165/lib/metadata/lv_manip.c -=================================================================== ---- LVM2.2.02.165.orig/lib/metadata/lv_manip.c -+++ LVM2.2.02.165/lib/metadata/lv_manip.c -@@ -1519,6 +1519,9 @@ struct alloc_handle { +diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c +index 0dfbad4..357e46a 100644 +--- a/lib/metadata/lv_manip.c ++++ b/lib/metadata/lv_manip.c +@@ -1622,6 +1622,9 @@ struct alloc_handle { unsigned maximise_cling; unsigned mirror_logs_separate; /* Force mirror logs on separate PVs? */ @@ -93,7 +96,7 @@ /* * RAID devices require a metadata area that accompanies each -@@ -2633,6 +2636,32 @@ static int _limit_to_one_area_per_tag(st +@@ -2736,6 +2739,32 @@ static int _limit_to_one_area_per_tag(struct alloc_handle *ah, struct alloc_stat } /* @@ -126,7 +129,7 @@ * Returns 1 regardless of whether any space was found, except on error. */ static int _find_some_parallel_space(struct alloc_handle *ah, -@@ -2762,6 +2791,10 @@ static int _find_some_parallel_space(str +@@ -2865,6 +2894,10 @@ static int _find_some_parallel_space(struct alloc_handle *ah, continue; case USE_AREA: @@ -137,7 +140,7 @@ /* * Except with ALLOC_ANYWHERE, replace first area with this * one which is smaller but still big enough. -@@ -3243,6 +3276,7 @@ static struct alloc_handle *_alloc_init( +@@ -3355,6 +3388,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->parity_count = parity_count; ah->region_size = region_size; ah->alloc = alloc; @@ -145,7 +148,7 @@ /* * For the purposes of allocation, area_count and parity_count are -@@ -3254,6 +3288,7 @@ static struct alloc_handle *_alloc_init( +@@ -3366,6 +3400,7 @@ static struct alloc_handle *_alloc_init(struct cmd_context *cmd, ah->area_multiple = _calc_area_multiple(segtype, area_count + parity_count, stripes); //FIXME: s/mirror_logs_separate/metadata_separate/ so it can be used by others? ah->mirror_logs_separate = find_config_tree_bool(cmd, allocation_mirror_logs_require_separate_pvs_CFG, NULL); @@ -153,18 +156,24 @@ if (mirrors || stripes) total_extents = new_extents; -Index: LVM2.2.02.165/man/lvcreate.8.in -=================================================================== ---- LVM2.2.02.165.orig/man/lvcreate.8.in -+++ LVM2.2.02.165/man/lvcreate.8.in -@@ -418,6 +418,10 @@ Using \fBcore\fP means the mirror is reg - from the first device each time the logical volume is activated, - like after every reboot. +diff --git a/man/lvcreate.8_pregen b/man/lvcreate.8_pregen +index 6663087..c385927 100644 +--- a/man/lvcreate.8_pregen ++++ b/man/lvcreate.8_pregen +@@ -416,6 +416,13 @@ Create a raid10 LV. + [ \fB-I\fP|\fB--stripesize\fP \fISize\fP[k|UNIT] ] + .ad b .br +Every leg of the mirrored logical volume could be placed on the pvs with +same tag, see details(mirror_legs_require_separate_pvs) in lvm.conf. + +.br - Using \fBmirrored\fP will create a persistent log that is itself mirrored. - . - .HP ++Using \fBmirrored\fP will create a persistent log that is itself mirrored. ++. ++.HP + .ad l + [ \fB-R\fP|\fB--regionsize\fP \fISize\fP[m|UNIT] ] + .ad b +-- +2.10.2 + Index: LVM2.2.02.169.tgz =================================================================== Binary file LVM2.2.02.169.tgz (revision 5) added Index: LVM2.2.02.169.tgz.asc =================================================================== --- LVM2.2.02.169.tgz.asc (added) +++ LVM2.2.02.169.tgz.asc (revision 5) @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.14 (GNU/Linux) + +iEYEABECAAYFAljafgEACgkQIoGRwVZ+LBeo5wCfVaQeSN73FPcJf86c3aqrFmZu +Rs0AoJ6l75QbY2V55rhunJvwwDllKlpF +=0Jtt +-----END PGP SIGNATURE----- Index: LVM2.2.02.168.tgz =================================================================== Binary file LVM2.2.02.168.tgz (revision 176) deleted Index: LVM2.2.02.168.tgz.asc =================================================================== --- LVM2.2.02.168.tgz.asc (revision 176) +++ LVM2.2.02.168.tgz.asc (deleted) @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.14 (GNU/Linux) - -iEUEABECAAYFAlg/XqMACgkQIoGRwVZ+LBdjQACVGeU4I+B5ETIhINJeYXy2bLNu -hQCgxEmGwG0ec2frSXhQociTYfT6vVc= -=T5md ------END PGP SIGNATURE----- OBS-URL: https://build.opensuse.org/request/show/487889 OBS-URL: https://build.opensuse.org/package/show/Base:System/lvm2?expand=0&rev=177
2017-04-18 12:55:18 +02:00
+Using \fBmirrored\fP will create a persistent log that is itself mirrored.
+.
+.HP
.ad l
[ \fB-R\fP|\fB--regionsize\fP \fISize\fP[m|UNIT] ]
.ad b
--
2.10.2