* [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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).