[Ocfs2-test-devel] [PATCH 1/1] Ocfs2-test: Improve resize_test.sh for tunefs.ocfs2 changes.
Tristan Ye
tristan.ye at oracle.com
Tue Jun 9 01:34:32 PDT 2009
As the output of new tunefs.ocfs2 changed when doing resizing(Now it
output nothing even if we turn the vebose mode on), our test tools
therefore need to be updated accordingly. from my point of view, it
would be better to both check the return code of the testing cmd and
output of debugfs.ocfs2 to see if the volume size grows correctly.
Some other improvements also included in the patches for permission and
path problems.
Signed-off-by: Tristan Ye <tristan.ye at oracle.com>
---
programs/resize_test/resize_test.sh | 46 ++++++++++++++++++++++++----------
1 files changed, 32 insertions(+), 14 deletions(-)
diff --git a/programs/resize_test/resize_test.sh b/programs/resize_test/resize_test.sh
index 9a243ed..99adf3c 100755
--- a/programs/resize_test/resize_test.sh
+++ b/programs/resize_test/resize_test.sh
@@ -7,7 +7,11 @@
# blocks, where each chunk has to be greater than a cluster
#
-PATH=$PATH:/sbin # Add /sbin to the path for ocfs2 tools
+if [ -f `dirname ${0}`/config.sh ]; then
+ . `dirname ${0}`/config.sh
+fi
+
+PATH=$PATH:/sbin:${BINDIR} # Add /sbin to the path for ocfs2 tools
usage() {
echo "usage: resize_test.sh -c -o <outdir> -d <device> -i <iters> -l <label> -m <mntdir> -n <nodelist>"
@@ -179,21 +183,29 @@ do_tunefs() {
else
echo -n "grow device to ${blk} blocks "
fi
- echo ${TUNEFS} -S ${device} ${blk} > ${out}
- ${TUNEFS} -x -S ${device} ${blk} >>${out} 2>&1
- ${GREP} "Cannot grow volume size" ${out} >/dev/null 2>&1
- if [ $? -eq 0 ]
- then
- echo "OK (ENOSPC)"
- return 1
- fi
- ${GREP} "Resized volume" ${out} >/dev/null 2>&1
- if [ $? -ne 0 ] ;
- then
- echo "FAILED. Errors in ${out}"
- exit 1
+ echo ${TUNEFS} -v -S ${device} ${blk} > ${out}
+ ${TUNEFS} -v -S ${device} ${blk} >>${out} 2>&1
+
+ if [ $? -eq 0 ]; then
+ g_size=`${DEBUGFS} -R "stat //global_bitmap" ${device} 2>/dev/null | awk '/Size:/ {print $8;}'`
+ blocks=$((${g_size}/${blocksz}))
+ #In the case when blk number didn't align to cluster
+ if [ "$((${blk}%${bpc}))" != "0" ];then
+ blk=$((${blk}+${bpc}-$((${blk}%${bpc}))))
+ if [ ${blk} -gt ${partsz} ]; then
+ ${blk}=$((${blk}-${bpc}))
+ fi
+ fi
+ if [ "${blocks}" != "${blk}" ]; then
+ echo "FAILED, wanted to grow ${blk}, but got ${blocks} instead"
+ return 1
+ fi
+ else
+ echo "FAILED. Errors in ${out}"
+ exit 1
fi
+
echo "OK"
return 0
}
@@ -361,6 +373,9 @@ DD="`which sudo` -u root `which dd`"
MKDIR="`which sudo` -u root `which mkdir`"
GREP=`which grep`
DATE=`which date`
+CHOWN_BIN=`which chown`
+CHMOD_BIN=`which chmod`
+SUDO="`which sudo` -u root"
REMOTE_MOUNT=`which remote_mount.py`
REMOTE_UMOUNT=`which remote_umount.py`
@@ -405,6 +420,9 @@ fi
echo "create logdir ${outdir}"
${MKDIR} -p ${outdir}
+${SUDO} ${CHMOD_BIN} -R 777 ${outdir}
+${SUDO} ${CHOWN_BIN} -R ${USERNAME}:${GROUPNAME} ${outdir}
+
blocksz=0
clustsz=0
numclst=0
--
1.5.5
More information about the Ocfs2-test-devel
mailing list