#!/bin/bash
-# -*- mode: Bash; tab-width: 4; indent-tabs-mode: t; -*-
-# vim:shiftwidth=4:softtabstop=4:tabstop=4:
set -e
-# bug number:
-ALWAYS_EXCEPT=" $REPLAY_VBR_EXCEPT"
-
-SAVE_PWD=$PWD
-LUSTRE=${LUSTRE:-$(cd $(dirname $0)/..; echo $PWD)}
-SETUP=${SETUP:-}
-CLEANUP=${CLEANUP:-}
MOUNT_2=${MOUNT_2:-"yes"}
-export MULTIOP=${MULTIOP:-multiop}
+
+LUSTRE=${LUSTRE:-$(dirname $0)/..}
. $LUSTRE/tests/test-framework.sh
-init_test_env $@
-. ${CONFIG:=$LUSTRE/tests/cfg/$NAME.sh}
+init_test_env "$@"
init_logging
remote_mds_nodsh && log "SKIP: remote MDS with nodsh" && exit 0
+ALWAYS_EXCEPT=" $REPLAY_VBR_EXCEPT"
+
# ~6 (min)"
-[ "$SLOW" = "no" ] && EXCEPT_SLOW="7"
+[ "$SLOW" = "no" ] && EXCEPT_SLOW="7 "
build_test_filter
do_facet $SINGLEMDS "$LCTL set_param mdd.${!var}.sync_permission=0"
do_facet $SINGLEMDS "$LCTL set_param mdt.${!var}.commit_on_sharing=0"
- do_node $CLIENT1 mkdir -p -m 755 $MOUNT/$tdir
+ do_node $CLIENT1 $LFS mkdir -i 0 -c 1 $MOUNT/$tdir
replay_barrier $SINGLEMDS
do_node $CLIENT2 chmod 777 $MOUNT2/$tdir
do_facet $SINGLEMDS "$LCTL set_param mdd.${!var}.sync_permission=0"
do_facet $SINGLEMDS "$LCTL set_param mdt.${!var}.commit_on_sharing=0"
- do_node $CLIENT1 mkdir -p -m 755 $DIR/$tdir
+ do_node $CLIENT1 $LFS mkdir -i 0 -c 1 $MOUNT/$tdir
replay_barrier $SINGLEMDS
do_node $CLIENT2 chmod 777 $MOUNT2/$tdir
do_facet $SINGLEMDS "$LCTL set_param mdd.${!var}.sync_permission=0"
do_facet $SINGLEMDS "$LCTL set_param mdt.${!var}.commit_on_sharing=0"
- do_node $CLIENT1 mkdir -p -m 755 $DIR/$tdir
+ do_node $CLIENT1 $LFS mkdir -i 0 -c 1 $MOUNT/$tdir
do_node $CLIENT1 mcreate $DIR/$tdir/$tfile
replay_barrier $SINGLEMDS
local tp_post
do_node $CLIENT1 mcreate $DIR/$tfile
- do_node $CLIENT1 mkdir -p $DIR/$tdir
+ do_node $CLIENT1 $LFS mkdir -i 0 -c 1 $DIR/$tdir
pre=$(chk_get_version $CLIENT1 $DIR/$tfile)
tp_pre=$(chk_get_version $CLIENT1 $DIR/$tdir)
do_node $CLIENT1 link $DIR/$tfile $DIR/$tdir/$tfile
do_facet $SINGLEMDS "$LCTL set_param mdt.${!var}.commit_on_sharing=0"
do_node $CLIENT1 mcreate $DIR/$tfile
- do_node $CLIENT1 mkdir -p -m 755 $DIR/$tdir
+ do_node $CLIENT1 $LFS mkdir -i 0 -c 1 $MOUNT/$tdir
replay_barrier $SINGLEMDS
do_node $CLIENT2 chmod 777 $MOUNT2/$tdir
do_facet $SINGLEMDS "$LCTL set_param mdt.${!var}.commit_on_sharing=0"
do_node $CLIENT1 openfile -f O_RDWR:O_CREAT -m 0644 $DIR/$tfile
- do_node $CLIENT1 mkdir -p $DIR/$tdir
+ do_node $CLIENT1 $LFS mkdir -i 0 -c 1 $MOUNT/$tdir
replay_barrier $SINGLEMDS
do_node $CLIENT2 chmod 666 $MOUNT2/$tfile
local tp_post
do_node $CLIENT1 mcreate $DIR/$tfile
- do_node $CLIENT1 mkdir -p $DIR/$tdir
+ do_node $CLIENT1 $LFS mkdir -i 0 -c 1 $MOUNT/$tdir
sp_pre=$(chk_get_version $CLIENT1 $DIR)
tp_pre=$(chk_get_version $CLIENT1 $DIR/$tdir)
do_node $CLIENT1 mv $DIR/$tfile $DIR/$tdir/$tfile
do_facet $SINGLEMDS "$LCTL set_param mdt.${!var}.commit_on_sharing=0"
do_node $CLIENT1 mcreate $DIR/$tfile
- do_node $CLIENT1 mkdir -p -m 755 $DIR/$tdir
+ do_node $CLIENT1 $LFS mkdir -i 0 -c 1 $MOUNT/$tdir
replay_barrier $SINGLEMDS
do_node $CLIENT2 chmod 777 $MOUNT2
do_facet $SINGLEMDS "$LCTL set_param mdt.${!var}.commit_on_sharing=0"
do_node $CLIENT1 mcreate $DIR/$tfile
- do_node $CLIENT1 mkdir -p -m 755 $DIR/$tdir
+ do_node $CLIENT1 $LFS mkdir -i 0 -c 1 $MOUNT/$tdir
replay_barrier $SINGLEMDS
do_node $CLIENT2 chmod 777 $MOUNT2/$tdir
do_facet $SINGLEMDS "$LCTL set_param mdd.${!var}.sync_permission=0"
do_facet $SINGLEMDS "$LCTL set_param mdt.${!var}.commit_on_sharing=0"
- do_node $CLIENT1 mkdir -p $DIR/$tdir
+ do_node $CLIENT1 $LFS mkdir -i 0 -c 1 $MOUNT/$tdir
replay_barrier $SINGLEMDS
# first operation
echo "$cname first: $first"
}
test_7a() {
- first="createmany -o $DIR/$tdir/$tfile- 1"
- lost="rm $MOUNT2/$tdir/$tfile-0"
- last="createmany -o $DIR/$tdir/$tfile- 1"
- test_7_cycle "$first" "$lost" "$last" || error "Test 7a.1 failed"
-
- first="createmany -o $DIR/$tdir/$tfile- 1"
- lost="rm $MOUNT2/$tdir/$tfile-0"
- last="mkdir $DIR/$tdir/$tfile-0"
- test_7_cycle "$first" "$lost" "$last" || error "Test 7a.2 failed"
-
- first="mkdir $DIR/$tdir/$tfile-0"
- lost="mv $MOUNT2/$tdir/$tfile-0 $MOUNT2/$tdir/$tfile-1"
- last="createmany -o $DIR/$tdir/$tfile- 1"
- test_7_cycle "$first" "$lost" "$last" || error "Test 7a.3 failed"
- return 0
+ first="createmany -o $DIR/$tdir/$tfile- 1"
+ lost="rm $MOUNT2/$tdir/$tfile-0"
+ last="createmany -o $DIR/$tdir/$tfile- 1"
+ test_7_cycle "$first" "$lost" "$last" || error "Test 7a.1 failed"
+
+ first="createmany -o $DIR/$tdir/$tfile- 1"
+ lost="rm $MOUNT2/$tdir/$tfile-0"
+ last="$LFS mkdir -i 0 -c 1 $DIR/$tdir/$tfile-0"
+ test_7_cycle "$first" "$lost" "$last" || error "Test 7a.2 failed"
+
+ first="mkdir $DIR/$tdir/$tfile-0"
+ lost="mv $MOUNT2/$tdir/$tfile-0 $MOUNT2/$tdir/$tfile-1"
+ last="createmany -o $DIR/$tdir/$tfile- 1"
+ test_7_cycle "$first" "$lost" "$last" || error "Test 7a.3 failed"
+ return 0
}
run_test 7a "create, {lost}, create"
run_test 7f "unlink, {lost}, rename"
test_7g() {
- first="createmany -o $DIR/$tdir/$tfile- 1; mv $DIR/$tdir/$tfile-0 $DIR/$tdir/$tfile-1"
- lost="mkdir $MOUNT2/$tdir/$tfile-0;rmdir $MOUNT2/$tdir/$tfile-0"
- last="createmany -o $DIR/$tdir/$tfile- 1"
- test_7_cycle "$first" "$lost" "$last" && error "Test 7g.1 failed"
-
- first="createmany -o $DIR/$tdir/$tfile- 2; mv $DIR/$tdir/$tfile-0 $DIR/$tdir/$tfile-1"
- lost="createmany -o $MOUNT2/$tdir/$tfile- 1; rm $MOUNT2/$tdir/$tfile-0"
- last="mkdir $DIR/$tdir/$tfile-0"
- test_7_cycle "$first" "$lost" "$last" && error "Test 7g.2 failed"
-
- first="createmany -o $DIR/$tdir/$tfile- 1; mv $DIR/$tdir/$tfile-0 $DIR/$tdir/$tfile"
- lost="createmany -o $MOUNT2/$tdir/$tfile- 1"
- last="link $DIR/$tdir/$tfile-0 $DIR/$tdir/$tfile-1"
- if [ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.5.1) ]
- then
+ first="createmany -o $DIR/$tdir/$tfile- 1; mv $DIR/$tdir/$tfile-0 $DIR/$tdir/$tfile-1"
+ lost="mkdir $MOUNT2/$tdir/$tfile-0;rmdir $MOUNT2/$tdir/$tfile-0"
+ last="createmany -o $DIR/$tdir/$tfile- 1"
+ test_7_cycle "$first" "$lost" "$last" && error "Test 7g.1 failed"
+
+ first="createmany -o $DIR/$tdir/$tfile- 2; mv $DIR/$tdir/$tfile-0 $DIR/$tdir/$tfile-1"
+ lost="createmany -o $MOUNT2/$tdir/$tfile- 1; rm $MOUNT2/$tdir/$tfile-0"
+ last="mkdir $DIR/$tdir/$tfile-0"
+ test_7_cycle "$first" "$lost" "$last" && error "Test 7g.2 failed"
+
+ first="createmany -o $DIR/$tdir/$tfile- 1; mv $DIR/$tdir/$tfile-0 $DIR/$tdir/$tfile"
+ lost="createmany -o $MOUNT2/$tdir/$tfile- 1"
+ last="link $DIR/$tdir/$tfile-0 $DIR/$tdir/$tfile-1"
+ if [ "$MDS1_VERSION" -lt $(version_code 2.5.1) ]; then
test_7_cycle "$first" "$lost" "$last" ||
error "Test 7g.3 failed"
else #LU-4442 LU-3528
local post
local var=${SINGLEMDS}_svc
- [ -n "$CLIENTS" ] || { skip "Need two or more clients" && exit 0; }
[ $CLIENTCOUNT -ge 2 ] || \
{ skip "Need two or more clients, have $CLIENTCOUNT" && \
exit 0; }