Accepting request 459648 from home:ZRen:branches:Base:System
Fixes for bsc#1012973,bsc#1023283¸bsc#1025560 OBS-URL: https://build.opensuse.org/request/show/459648 OBS-URL: https://build.opensuse.org/package/show/Base:System/lvm2?expand=0&rev=167
This commit is contained in:
parent
bf54202619
commit
d35ced24ce
22
clvmd.ocf
22
clvmd.ocf
@ -1,6 +1,5 @@
|
||||
#!/bin/bash
|
||||
# Copyright (c) 2008 Xinwei Hu
|
||||
# All Rights Reserved.
|
||||
# Copyright (c) 2008 Xinwei Hu All Rights Reserved.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of version 2 of the GNU General Public License as
|
||||
@ -38,6 +37,20 @@ DAEMON="${sbindir}/clvmd"
|
||||
CMIRRORD="${sbindir}/cmirrord"
|
||||
LVMCONF="${sbindir}/lvmconf"
|
||||
|
||||
time_to_seconds() {
|
||||
local val
|
||||
val=$1
|
||||
case $val in
|
||||
*h) echo $(( $(echo $val | sed -e "s/h$//") * 3600 ));;
|
||||
*ms) echo $(( $(echo $val | sed -e "s/ms$//") / 1000 ));;
|
||||
*s) echo $val | sed -e "s/s$//";;
|
||||
*m) echo $(( $(echo $val | sed -e "s/m$//") * 60 ));;
|
||||
*) echo "$val";;
|
||||
esac
|
||||
}
|
||||
|
||||
OCF_RESKEY_daemon_timeout=$(time_to_seconds ${OCF_RESKEY_daemon_timeout})
|
||||
|
||||
status_daemons()
|
||||
{
|
||||
PID=`pidofproc "$DAEMON"`
|
||||
@ -131,7 +144,7 @@ kill_clvmd()
|
||||
{
|
||||
status_clvmd; rc=$?
|
||||
if [ $rc != $OCF_SUCCESS ]; then
|
||||
return rc
|
||||
return $rc
|
||||
fi
|
||||
|
||||
ocf_log info "Stopping `basename "$DAEMON"`"
|
||||
@ -165,7 +178,7 @@ kill_cmirrord()
|
||||
{
|
||||
status_cmirrord; rc=$?
|
||||
if [ $rc != $OCF_SUCCESS ]; then
|
||||
return rc
|
||||
return $rc
|
||||
fi
|
||||
|
||||
ocf_log info "Stopping `basename "$CMIRRORD"`"
|
||||
@ -305,7 +318,6 @@ Options to clvmd. Refer to clvmd.8 for detailed descriptions.
|
||||
<content type="string" default="-d0"/>
|
||||
</parameter>
|
||||
|
||||
|
||||
</parameters>
|
||||
<actions>
|
||||
<action name="start" timeout="90"/>
|
||||
|
20
cmirrord.ocf
20
cmirrord.ocf
@ -1,6 +1,5 @@
|
||||
#!/bin/bash
|
||||
# Copyright (c) 2008 Xinwei Hu
|
||||
# All Rights Reserved.
|
||||
# Copyright (c) 2008 Xinwei Hu All Rights Reserved.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of version 2 of the GNU General Public License as
|
||||
@ -35,6 +34,20 @@ sbindir=$HA_SBIN_DIR
|
||||
# Common variables
|
||||
DAEMON="${sbindir}/cmirrord"
|
||||
|
||||
time_to_seconds() {
|
||||
local val
|
||||
val=$1
|
||||
case $val in
|
||||
*h) echo $(( $(echo $val | sed -e "s/h$//") * 3600 ));;
|
||||
*ms) echo $(( $(echo $val | sed -e "s/ms$//") / 1000 ));;
|
||||
*s) echo $val | sed -e "s/s$//";;
|
||||
*m) echo $(( $(echo $val | sed -e "s/m$//") * 60 ));;
|
||||
*) echo "$val";;
|
||||
esac
|
||||
}
|
||||
|
||||
OCF_RESKEY_daemon_timeout=$(time_to_seconds ${OCF_RESKEY_daemon_timeout})
|
||||
|
||||
status_daemon()
|
||||
{
|
||||
PID=`pidofproc "$DAEMON"`
|
||||
@ -78,7 +91,7 @@ kill_daemon()
|
||||
{
|
||||
status_daemon; rc=$?
|
||||
if [ $rc != $OCF_SUCCESS ]; then
|
||||
return rc
|
||||
return $rc
|
||||
fi
|
||||
|
||||
ocf_log info "Stopping `basename "$DAEMON"`"
|
||||
@ -187,7 +200,6 @@ for now.
|
||||
<content type="string" default=""/>
|
||||
</parameter>
|
||||
|
||||
|
||||
</parameters>
|
||||
<actions>
|
||||
<action name="start" timeout="90"/>
|
||||
|
@ -1,3 +1,20 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 22 10:43:38 UTC 2017 - zren@suse.com
|
||||
|
||||
- Fix several issues about clvmd/cmorriord RAs (bsc#1023283,
|
||||
bsc#1025560)
|
||||
* deal with time values passed down with time units
|
||||
* make correct "return code"
|
||||
* fix format issue that tab messes up with spaces
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 22 06:39:27 UTC 2017 - zren@suse.com
|
||||
|
||||
- udev: simplify special-case for md in 69-dm-lvm-metadata.rules
|
||||
* fix regression of bsc#1012973
|
||||
* drop remove-special-case-for-md-in-69-dm-lvm-metadata.rul.patch
|
||||
* add simplify-special-case-for-md-in-69-dm-lvm-metadata.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jan 20 09:46:27 UTC 2017 - tchvatal@suse.com
|
||||
|
||||
|
@ -78,8 +78,8 @@ Patch2009: pvcreate-enhance-the-error-message.patch
|
||||
Patch2010: 69-dm-lvm-metad.rules-Do-not-process-rules-for-multi.patch
|
||||
#PATCH-FIX-SUSE, bnc#950089
|
||||
Patch2011: lvm2-testsuite.patch
|
||||
# Remove special case for the md rules
|
||||
Patch2012: remove-special-case-for-md-in-69-dm-lvm-metadata.rul.patch
|
||||
# simplify special case for the md rules
|
||||
Patch2012: simplify-special-case-for-md-in-69-dm-lvm-metadata.patch
|
||||
### COMMON-PATCH-END ###
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: pkgconfig
|
||||
|
@ -1,3 +1,20 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 22 10:43:38 UTC 2017 - zren@suse.com
|
||||
|
||||
- Fix several issues about clvmd/cmorriord RAs (bsc#1023283,
|
||||
bsc#1025560)
|
||||
* deal with time values passed down with time units
|
||||
* make correct "return code"
|
||||
* fix format issue that tab messes up with spaces
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 22 06:39:27 UTC 2017 - zren@suse.com
|
||||
|
||||
- udev: simplify special-case for md in 69-dm-lvm-metadata.rules
|
||||
* fix regression of bsc#1012973
|
||||
* drop remove-special-case-for-md-in-69-dm-lvm-metadata.rul.patch
|
||||
* add simplify-special-case-for-md-in-69-dm-lvm-metadata.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jan 20 09:46:27 UTC 2017 - tchvatal@suse.com
|
||||
|
||||
|
@ -77,8 +77,8 @@ Patch2009: pvcreate-enhance-the-error-message.patch
|
||||
Patch2010: 69-dm-lvm-metad.rules-Do-not-process-rules-for-multi.patch
|
||||
#PATCH-FIX-SUSE, bnc#950089
|
||||
Patch2011: lvm2-testsuite.patch
|
||||
# Remove special case for the md rules
|
||||
Patch2012: remove-special-case-for-md-in-69-dm-lvm-metadata.rul.patch
|
||||
# simplify special case for the md rules
|
||||
Patch2012: simplify-special-case-for-md-in-69-dm-lvm-metadata.patch
|
||||
### COMMON-PATCH-END ###
|
||||
BuildRequires: libcorosync-devel
|
||||
BuildRequires: libdlm-devel
|
||||
|
17
lvm2.changes
17
lvm2.changes
@ -1,3 +1,20 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 22 10:43:38 UTC 2017 - zren@suse.com
|
||||
|
||||
- Fix several issues about clvmd/cmorriord RAs (bsc#1023283,
|
||||
bsc#1025560)
|
||||
* deal with time values passed down with time units
|
||||
* make correct "return code"
|
||||
* fix format issue that tab messes up with spaces
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 22 06:39:27 UTC 2017 - zren@suse.com
|
||||
|
||||
- udev: simplify special-case for md in 69-dm-lvm-metadata.rules
|
||||
* fix regression of bsc#1012973
|
||||
* drop remove-special-case-for-md-in-69-dm-lvm-metadata.rul.patch
|
||||
* add simplify-special-case-for-md-in-69-dm-lvm-metadata.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jan 20 09:46:27 UTC 2017 - tchvatal@suse.com
|
||||
|
||||
|
@ -79,8 +79,8 @@ Patch2009: pvcreate-enhance-the-error-message.patch
|
||||
Patch2010: 69-dm-lvm-metad.rules-Do-not-process-rules-for-multi.patch
|
||||
#PATCH-FIX-SUSE, bnc#950089
|
||||
Patch2011: lvm2-testsuite.patch
|
||||
# Remove special case for the md rules
|
||||
Patch2012: remove-special-case-for-md-in-69-dm-lvm-metadata.rul.patch
|
||||
# simplify special case for the md rules
|
||||
Patch2012: simplify-special-case-for-md-in-69-dm-lvm-metadata.patch
|
||||
### COMMON-PATCH-END ###
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: libaio-devel
|
||||
|
@ -1,9 +1,9 @@
|
||||
From 2759c9fa04af726d2777db142806287256bd9cc5 Mon Sep 17 00:00:00 2001
|
||||
From 0913b597d61b9b430654d7ab06528cdfcfaf06f4 Mon Sep 17 00:00:00 2001
|
||||
From: NeilBrown <neilb@suse.com>
|
||||
Date: Wed, 4 Jan 2017 14:30:52 +1100
|
||||
Subject: [PATCH] Remove special-case for md in 69-dm-lvm-metadata.rules
|
||||
Date: Wed, 4 Jan 2017 14:20:53 +1100
|
||||
Subject: [PATCH] Simplify special-case for md in 69-dm-lvm-metadata.rules
|
||||
|
||||
This special casing brings no value. It appears to attempt to
|
||||
This special casing brings little value. It appears to attempt to
|
||||
determine if the array is active yet or not, and to skip
|
||||
processing if the array has not yet been started.
|
||||
However, if the array hasn't been started, then "blkid" will
|
||||
@ -24,36 +24,35 @@ and "udevadm trigger --action=add" will be run.
|
||||
So the first and only event seen by this script for an md device will be
|
||||
"add", and it will incorrectly ignore it.
|
||||
|
||||
It is probable that the special handling for "loop" should be removed as
|
||||
well, but I have not actually seen that cause a problem, so I'm
|
||||
leaving it unchanged.
|
||||
So replace the special handling with code that simply jumps to lvm_scan
|
||||
on any 'add' or 'change' event.
|
||||
|
||||
Signed-off-by: NeilBrown <neilb@suse.com>
|
||||
---
|
||||
udev/69-dm-lvm-metad.rules.in | 10 ----------
|
||||
1 file changed, 10 deletions(-)
|
||||
udev/69-dm-lvm-metad.rules.in | 8 +++-----
|
||||
1 file changed, 3 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/udev/69-dm-lvm-metad.rules.in b/udev/69-dm-lvm-metad.rules.in
|
||||
index bd75fc8..db213ed 100644
|
||||
index bd75fc8efcd5..fcbb7f755eba 100644
|
||||
--- a/udev/69-dm-lvm-metad.rules.in
|
||||
+++ b/udev/69-dm-lvm-metad.rules.in
|
||||
@@ -50,16 +50,6 @@ KERNEL!="dm-[0-9]*", GOTO="next"
|
||||
ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}=="1", ENV{DM_ACTIVATION}=="1", GOTO="lvm_scan"
|
||||
@@ -51,13 +51,11 @@ ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}=="1", ENV{DM_ACTIVATION}=="1", GOTO="lvm_scan"
|
||||
GOTO="lvm_end"
|
||||
|
||||
-# MD device:
|
||||
-LABEL="next"
|
||||
-KERNEL!="md[0-9]*", GOTO="next"
|
||||
# MD device:
|
||||
+# Need to scan on both 'add' and 'change'
|
||||
LABEL="next"
|
||||
KERNEL!="md[0-9]*", GOTO="next"
|
||||
-IMPORT{db}="LVM_MD_PV_ACTIVATED"
|
||||
-ACTION=="add", ENV{LVM_MD_PV_ACTIVATED}=="1", GOTO="lvm_scan"
|
||||
-ACTION=="change", ENV{LVM_MD_PV_ACTIVATED}!="1", TEST=="md/array_state", ENV{LVM_MD_PV_ACTIVATED}="1", GOTO="lvm_scan"
|
||||
-ACTION=="add", KERNEL=="md[0-9]*p[0-9]*", GOTO="lvm_scan"
|
||||
-ENV{LVM_MD_PV_ACTIVATED}!="1", ENV{SYSTEMD_READY}="0"
|
||||
-GOTO="lvm_end"
|
||||
-
|
||||
# Loop device:
|
||||
LABEL="next"
|
||||
KERNEL!="loop[0-9]*", GOTO="next"
|
||||
--
|
||||
2.10.2
|
||||
+ACTION=="add", GOTO="lvm_scan"
|
||||
+ACTION=="change", GOTO="lvm_scan"
|
||||
GOTO="lvm_end"
|
||||
|
||||
# Loop device:
|
||||
--
|
||||
2.11.0
|
||||
|
Loading…
Reference in New Issue
Block a user