Accepting request 143853 from Base:System
- udev_sync-cookie_set-1-on-each-dm_task_set_cookie-ca.patch: cookie_set=1 on each dm_task_set_cookie call (bnc#788882) (forwarded request 143764 from rmilasan) OBS-URL: https://build.opensuse.org/request/show/143853 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/lvm2?expand=0&rev=51
This commit is contained in:
commit
1836f51a28
@ -1,3 +1,9 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Nov 28 09:37:23 UTC 2012 - rmilasan@suse.com
|
||||
|
||||
- udev_sync-cookie_set-1-on-each-dm_task_set_cookie-ca.patch:
|
||||
cookie_set=1 on each dm_task_set_cookie call (bnc#788882)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Nov 12 10:41:45 UTC 2012 - seife+obs@b1-systems.com
|
||||
|
||||
|
@ -62,6 +62,7 @@ Patch65: device-mapper-dmsetup-deps-export.patch
|
||||
Patch66: device-mapper-type_punning.diff
|
||||
Patch70: sleep-try-open-count.diff
|
||||
Patch81: udev-rules_update.diff
|
||||
Patch82: udev_sync-cookie_set-1-on-each-dm_task_set_cookie-ca.patch
|
||||
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
# Not a real replacement but we drop evms
|
||||
@ -97,6 +98,7 @@ Volume Manager.
|
||||
%patch66 -p1
|
||||
%patch70 -p1
|
||||
%patch81 -p1
|
||||
%patch82 -p1
|
||||
|
||||
%build
|
||||
export MODPROBE_CMD=/sbin/modprobe
|
||||
|
66
udev_sync-cookie_set-1-on-each-dm_task_set_cookie-ca.patch
Normal file
66
udev_sync-cookie_set-1-on-each-dm_task_set_cookie-ca.patch
Normal file
@ -0,0 +1,66 @@
|
||||
From a820a68619c10108666f8093545837233c954046 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Rajnoha <prajnoha@redhat.com>
|
||||
Date: Tue, 23 Oct 2012 11:40:53 +0200
|
||||
Subject: [PATCH] udev_sync: cookie_set=1 on each dm_task_set_cookie call
|
||||
|
||||
cookie_set variable found in the struct dm_task should be always
|
||||
set to 1 after dm_task_set_cookie_call, even if udev_sync is disabled
|
||||
as the cookie itself carries synchronization informations *as well as*
|
||||
extra flags to control other aspects of udev support.
|
||||
|
||||
For example, one could disable the synchronization itself, but still
|
||||
direct the libdm code to disable library fallback via
|
||||
DM_UDEV_DISABLE_LIBRARY_FALLBACK flag. These extra flags still need
|
||||
to be carried out!
|
||||
|
||||
A concrete example:
|
||||
$ dmsetup create test --table "0 1 zero" --noudevsync
|
||||
|
||||
This disables synchronization with udev. As the --verifyudev option is
|
||||
not used, we don't want to do any corrections. In other words, we
|
||||
need DM_UDEV_DISABLE_LIBRARY_FALLBACK flag to be used. However,
|
||||
with --noudevsync this was not the case - the flag was ignored!
|
||||
|
||||
This patch fixes the case when noudevsync is used but there are still
|
||||
some extra flags passed within the cookie flag part. The synchronization
|
||||
part of the cookie stays zero (which is ok as dm_udev_wait call on such a
|
||||
cookie is simply a NOOP).
|
||||
---
|
||||
WHATS_NEW_DM | 1 +
|
||||
libdm/libdm-common.c | 2 ++
|
||||
2 files changed, 3 insertions(+)
|
||||
|
||||
diff --git a/WHATS_NEW_DM b/WHATS_NEW_DM
|
||||
index 2d0b05c..7c636f0 100644
|
||||
--- a/WHATS_NEW_DM
|
||||
+++ b/WHATS_NEW_DM
|
||||
@@ -1,5 +1,6 @@
|
||||
Version 1.02.77 - 15th October 2012
|
||||
===================================
|
||||
+ Fix dm_task_set_cookie to properly process udev flags if udev_sync disabled.
|
||||
Support unmount of thin volumes from pool above thin pool threshold.
|
||||
Update man page to reflect that dm UUIDs are being mangled as well.
|
||||
Apply 'dmsetup mangle' for dm UUIDs besides dm names.
|
||||
diff --git a/libdm/libdm-common.c b/libdm/libdm-common.c
|
||||
index b8533ed..afdac89 100644
|
||||
--- a/libdm/libdm-common.c
|
||||
+++ b/libdm/libdm-common.c
|
||||
@@ -1838,6 +1838,7 @@ int dm_task_set_cookie(struct dm_task *dmt, uint32_t *cookie, uint16_t flags)
|
||||
if (dm_cookie_supported())
|
||||
dmt->event_nr = flags << DM_UDEV_FLAGS_SHIFT;
|
||||
*cookie = 0;
|
||||
+ dmt->cookie_set = 1;
|
||||
|
||||
return 1;
|
||||
}
|
||||
@@ -2207,6 +2208,7 @@ int dm_task_set_cookie(struct dm_task *dmt, uint32_t *cookie, uint16_t flags)
|
||||
|
||||
if (!dm_udev_get_sync_support()) {
|
||||
*cookie = 0;
|
||||
+ dmt->cookie_set = 1;
|
||||
return 1;
|
||||
}
|
||||
|
||||
--
|
||||
1.7.10.4
|
||||
|
Loading…
Reference in New Issue
Block a user