Gitweb:
http://git.fedorahosted.org/git/?p=cluster.git;a=commitdiff;h=b1f42a7a30d...
Commit: b1f42a7a30d0ea55c5d152774acde97f5704928b
Parent: 25eebc0689b97ffaa32cf43a59f4c8db8819a9cd
Author: Ryan McCabe <rmccabe(a)redhat.com>
AuthorDate: Wed Aug 29 09:54:56 2012 -0400
Committer: Ryan McCabe <rmccabe(a)redhat.com>
CommitterDate: Wed Aug 29 09:54:56 2012 -0400
rgmanager: Fix for reading /proc/mounts in fs.sh
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(a)redhat.com>
Resolves rhbz#847125
Signed-off-by: Ryan McCabe <rmccabe(a)redhat.com>
---
rgmanager/src/resources/fs.sh | 10 ++++++++--
1 files 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"