* [Cluster-devel] [PATCH] rgmanager: Fix for reading /proc/mounts in fs.sh
@ 2012-08-29 13:57 Ryan McCabe
0 siblings, 0 replies; only message in thread
From: Ryan McCabe @ 2012-08-29 13:57 UTC (permalink / raw)
To: cluster-devel.redhat.com
This patch fixes a problem with the fs resource agent
that caused status checks to mistakenly fail as a result
of /proc/mounts changing while it was being read.
Patch from John Ruemker <jruemker@redhat.com>
Resolves rhbz#847125
Signed-off-by: Ryan McCabe <rmccabe@redhat.com>
---
rgmanager/src/resources/fs.sh | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/rgmanager/src/resources/fs.sh b/rgmanager/src/resources/fs.sh
index 9dec8d1..147f246 100755
--- a/rgmanager/src/resources/fs.sh
+++ b/rgmanager/src/resources/fs.sh
@@ -560,6 +560,8 @@ mountInUse () {
dev=$1
mp=$2
+ typeset proc_mounts=$(mktemp /tmp/fs-$OCF_RESKEY_name.proc.mounts.XXXXXX)
+ cat /proc/mounts > $proc_mounts
while read tmp_dev tmp_mp junka junkb junkc junkd; do
if [ -n "$tmp_dev" -a "$tmp_dev" = "$dev" ]; then
return $YES
@@ -568,7 +570,8 @@ mountInUse () {
if [ -n "$tmp_mp" -a "$tmp_mp" = "$mp" ]; then
return $YES
fi
- done < /proc/mounts
+ done < $proc_mounts
+ rm -f $proc_mounts
return $NO
}
@@ -609,6 +612,8 @@ isMounted () {
ret=$NO
+ typeset proc_mounts=$(mktemp /tmp/fs-$OCF_RESKEY_name.proc.mounts.XXXXXX)
+ cat /proc/mounts > $proc_mounts
while read tmp_dev tmp_mp junk_a junk_b junk_c junk_d
do
real_device $tmp_dev
@@ -633,7 +638,8 @@ isMounted () {
fi
ret=$YES
fi
- done < /proc/mounts
+ done < $proc_mounts
+ rm -f $proc_mounts
if [ $ret -eq $YES ] && [ $found -ne 0 ]; then
ocf_log warn "Device $dev is mounted on $poss_mp instead of $mp"
--
1.7.11.4
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2012-08-29 13:57 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-29 13:57 [Cluster-devel] [PATCH] rgmanager: Fix for reading /proc/mounts in fs.sh Ryan McCabe
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.