Whamcloud - gitweb
git://git.whamcloud.com
/
fs
/
lustre-release.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
LU-1754 kernel: Kernel update [RHEL 6.3 2.6.32-279.5.1.el6]
[fs/lustre-release.git]
/
lustre
/
tests
/
metadata-updates.sh
diff --git
a/lustre/tests/metadata-updates.sh
b/lustre/tests/metadata-updates.sh
index
c2c6457
..
0228c2b
100755
(executable)
--- a/
lustre/tests/metadata-updates.sh
+++ b/
lustre/tests/metadata-updates.sh
@@
-20,6
+20,11
@@
NODES_TO_USE=${NODES_TO_USE:-$CLIENTS}
[ -z $CLIENTS ] && NODES_TO_USE=$(hostname)
[ -z $CLIENTS ] && NODES_TO_USE=$(hostname)
+# hostname could differ from a network interface
+# configured for NODES_TO_USE, bug 23961
+# the test dir on each host is created based on `hostname` of this host
+HOSTS=$(comma_list $(do_nodes $NODES_TO_USE "echo \\\$(hostname)"))
+
FILE=testfile
FILE_SIZE=1024
CURRENT_MODE=0644
FILE=testfile
FILE_SIZE=1024
CURRENT_MODE=0644
@@
-30,6
+35,8
@@
NEW_MTIME="2005-05-05 GMT"
test_UID=$(id -u)
test_GID=$(id -g)
test_UID=$(id -u)
test_GID=$(id -g)
+SUMFILE=$TESTDIR/mdsum
+
NUM_FILES=1000
WRITE_DISJOINT=${WRITE_DISJOINT:-$(which write_disjoint 2> /dev/null)} || true
NUM_FILES=1000
WRITE_DISJOINT=${WRITE_DISJOINT:-$(which write_disjoint 2> /dev/null)} || true
@@
-46,6
+53,7
@@
cleanup_prepare () {
DIR=$TESTDIR/\\\$(hostname);
TESTFILE=\\\$DIR/$FILE;
rm -f \\\$TESTFILE;
DIR=$TESTDIR/\\\$(hostname);
TESTFILE=\\\$DIR/$FILE;
rm -f \\\$TESTFILE;
+rm -f $SUMFILE;
rmdir \\\$DIR 2>/dev/null;
mkdir -p \\\$DIR" || return ${PIPESTATUS[0]}
return 0;
rmdir \\\$DIR 2>/dev/null;
mkdir -p \\\$DIR" || return ${PIPESTATUS[0]}
return 0;
@@
-65,17
+73,15
@@
do_write () {
TESTFILE=$TESTDIR/\\\$(hostname)/$FILE;
dd if=/dev/zero of=\\\$TESTFILE bs=$FILE_SIZE count=1 2>/dev/null || exit 54;
echo \\\$(hostname) | dd of=\\\$TESTFILE conv=notrunc 2>/dev/null || exit 55;
TESTFILE=$TESTDIR/\\\$(hostname)/$FILE;
dd if=/dev/zero of=\\\$TESTFILE bs=$FILE_SIZE count=1 2>/dev/null || exit 54;
echo \\\$(hostname) | dd of=\\\$TESTFILE conv=notrunc 2>/dev/null || exit 55;
-md5sum \\\$TESTFILE; " || return ${PIPESTATUS[0]}
+md5sum \\\$TESTFILE
>> $SUMFILE
; " || return ${PIPESTATUS[0]}
return 0
}
do_check_data () {
return 0
}
do_check_data () {
- local sums=$1
- local HOST
echo "Checking file(s) data ... md5sum : "
echo "Checking file(s) data ... md5sum : "
- echo "$sums"
+ cat $SUMFILE
- do_nodes
--verbose $NODES_TO_USE "echo \\\"$sums\\\" | md5sum --check $sum
" || \
+ do_nodes
v $NODES_TO_USE "md5sum --check $SUMFILE
" || \
return ${PIPESTATUS[0]}
return 0
}
return ${PIPESTATUS[0]}
return 0
}
@@
-85,7
+91,7
@@
do_truncate () {
do_nodes $NODES_TO_USE "set $TRACE;
TESTFILE=$TESTDIR/\\\$(hostname)/$FILE;
do_nodes $NODES_TO_USE "set $TRACE;
TESTFILE=$TESTDIR/\\\$(hostname)/$FILE;
-
truncate
\\\$TESTFILE 0" || return ${PIPESTATUS[0]}
+
$TRUNCATE
\\\$TESTFILE 0" || return ${PIPESTATUS[0]}
FILE_SIZE=0
return 0
FILE_SIZE=0
return 0
@@
-97,8
+103,8
@@
get_stat () {
echo "Checking file(s) attributes ... "
echo "Checking file(s) attributes ... "
- do_nodes
--verbose
$NODES_TO_USE "set $TRACE;
-for HOST in ${
NODES_TO_USE//,/ } ; do
+ do_nodes
v
$NODES_TO_USE "set $TRACE;
+for HOST in ${
HOSTS//,/ } ; do
TESTFILE=$TESTDIR/\\\$HOST/$FILE;
tmp=\\\$(stat -c \\\"%u %g %s 0%a\\\" \\\$TESTFILE);
echo \\\"\\\$TESTFILE [ uid gid size mode ] expected : $attr ; got : \\\$tmp \\\";
TESTFILE=$TESTDIR/\\\$HOST/$FILE;
tmp=\\\$(stat -c \\\"%u %g %s 0%a\\\" \\\$TESTFILE);
echo \\\"\\\$TESTFILE [ uid gid size mode ] expected : $attr ; got : \\\$tmp \\\";
@@
-140,8
+146,8
@@
do_check_timestamps () {
echo "Checking atime, mtime ... "
echo "Checking atime, mtime ... "
- do_nodes
--verbose
$NODES_TO_USE "set $TRACE;
-for HOST in ${
NODES_TO_USE//,/ } ; do
+ do_nodes
v
$NODES_TO_USE "set $TRACE;
+for HOST in ${
HOSTS//,/ } ; do
TESTFILE=$TESTDIR/\\\$HOST/$FILE;
tmp=\\\$(stat -c \\\"%X %Y\\\" \\\$TESTFILE);
if [ x\\\"\\\$tmp\\\" != x\\\"$times\\\" ] ; then
TESTFILE=$TESTDIR/\\\$HOST/$FILE;
tmp=\\\$(stat -c \\\"%X %Y\\\" \\\$TESTFILE);
if [ x\\\"\\\$tmp\\\" != x\\\"$times\\\" ] ; then
@@
-171,7
+177,7
@@
check_dir_contents () {
echo "Checking dir contents ... (should exist files : f$num_files ... f$NUM_FILES) ... "
do_nodes $NODES_TO_USE "set $TRACE;
echo "Checking dir contents ... (should exist files : f$num_files ... f$NUM_FILES) ... "
do_nodes $NODES_TO_USE "set $TRACE;
-for HOST in ${
NODES_TO_USE//,/ } ; do
+for HOST in ${
HOSTS//,/ } ; do
DIR=$TESTDIR/\\\$HOST;
for i in \\\$(seq $NUM_FILES -1 $num_files) ; do
if ! [ -f \\\$DIR/f\\\$i ] ; then
DIR=$TESTDIR/\\\$HOST;
for i in \\\$(seq $NUM_FILES -1 $num_files) ; do
if ! [ -f \\\$DIR/f\\\$i ] ; then
@@
-216,8
+222,8
@@
cleanup_prepare || error_exit "cleanup failed"
echo "Part 1. create file(s) (mknod (2)), write data, check data, check file attributes."
do_mknod || error_exit "mknod failed"
echo "Writing data to file(s) ... store md5sum ... "
echo "Part 1. create file(s) (mknod (2)), write data, check data, check file attributes."
do_mknod || error_exit "mknod failed"
echo "Writing data to file(s) ... store md5sum ... "
-
sums="$(do_write)"
|| error_exit "write data failed"
-do_check_data
"$sums"
|| error_exit "md5sum verification failed"
+
do_write
|| error_exit "write data failed"
+do_check_data
|| error_exit "md5sum verification failed"
get_stat || { error_noexit "attributes check failed" ; STATUS=1; }
# file(s) attributes modification
get_stat || { error_noexit "attributes check failed" ; STATUS=1; }
# file(s) attributes modification
@@
-254,8
+260,8
@@
else
skip_env "$0 : write_disjoint not found "
fi
skip_env "$0 : write_disjoint not found "
fi
-equals_msg `basename $0`: test complete, cleaning up
+complete $(basename $0) $SECONDS
rm -rf $TESTDIR
rm -f $MACHINEFILE
check_and_cleanup_lustre
rm -rf $TESTDIR
rm -f $MACHINEFILE
check_and_cleanup_lustre
-exit
$STATUS
+exit
_status