rgmanager: Fix for reading /proc/mounts in fs.sh
PATCH 1/1 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 <[email protected]>
Resolves rhbz#847125
Signed-off-by Ryan McCabe <[email protected]>
--- rgmanager/src/resources/fs.sh | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)
rgmanager/src/resources/fs.sh +8 -2
@@ -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"
Signature · 1 line
1.7.11.4