1c7cea6733
- 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
53 lines
1.7 KiB
Diff
53 lines
1.7 KiB
Diff
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
|
|
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 | 6 +++---
|
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
|
|
|
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
|
|
#define MISC_MAJOR 10
|
|
+#define DM_IOCTL_RETRIES 25
|
|
|
|
/* dm major version no for running kernel */
|
|
static unsigned _dm_version = DM_VERSION_MAJOR;
|
|
@@ -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 "
|
|
"failed: %s",
|
|
_cmd_data_v4[dmt->type].name,
|
|
dmi->name, dmi->uuid,
|
|
@@ -1915,7 +1916,6 @@ void dm_task_update_nodes(void)
|
|
update_devs();
|
|
}
|
|
|
|
-#define DM_IOCTL_RETRIES 25
|
|
#define DM_RETRY_USLEEP_DELAY 200000
|
|
|
|
int dm_task_get_errno(struct dm_task *dmt)
|
|
--
|
|
2.10.2
|
|
|