diff --git a/libdm-iface-not-output-error-message-inside-retry-loop.patch b/libdm-iface-not-output-error-message-inside-retry-loop.patch new file mode 100644 index 0000000..4d99df2 --- /dev/null +++ b/libdm-iface-not-output-error-message-inside-retry-loop.patch @@ -0,0 +1,44 @@ +From a70f17fd1dc9a8cccefb946c3501d5cb6f2766bb Mon Sep 17 00:00:00 2001 +From: Liuhua Wang +Date: Mon, 23 Nov 2015 13:49:39 +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 +--- + libdm/ioctl/libdm-iface.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 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 +@@ -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,7 +1863,7 @@ static struct dm_ioctl *_do_dm_ioctl(str + dmt->major > 0 && dmt->minor == 0 ? "0" : "", + dmt->major > 0 ? ")" : "", + strerror(dmt->ioctl_errno)); +- else ++ 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, +@@ -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) diff --git a/lvm2.changes b/lvm2.changes index 54c8fe2..d1ecdbd 100644 --- a/lvm2.changes +++ b/lvm2.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Mon Mar 7 01:53:34 UTC 2016 - lwang@suse.com + +- not output error message inside retry loops to avoid noisy error + message being output inside retry loops in case of remove failure + because device busy. (bsc#940298 boo#957059) + add: libdm-iface-not-output-error-message-inside-retry-loop.patch + ------------------------------------------------------------------- Thu Jan 28 03:47:31 UTC 2016 - lwang@suse.com diff --git a/lvm2.spec b/lvm2.spec index cc5d44a..b389fe3 100644 --- a/lvm2.spec +++ b/lvm2.spec @@ -88,6 +88,7 @@ Patch2005: udev-Check-for-DM_NR_VALID_PATHS.patch Patch2007: fsadm-add-support-for-btrfs.patch Patch2008: Import-ID_FS_XXX-variables-bnc909358.patch Patch2009: 10-dm.rules-Reset-state-variable-for-spurious-events.patch +Patch2010: libdm-iface-not-output-error-message-inside-retry-loop.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: autoconf @@ -155,6 +156,7 @@ Volume Manager. %patch2007 -p1 %patch2008 -p1 %patch2009 -p1 +%patch2010 -p1 %build #set path so that thin_check can be found