mkdir -p $DIR/$tdir/remote_dir_${i}
createmany -o $DIR/$tdir/remote_dir_${i}/f 10 ||
error "create files under remote dir failed $i"
- $LFS mv --mdt-index 1 $DIR/$tdir/remote_dir_${i} ||
+ $LFS migrate --mdt-index 1 $DIR/$tdir/remote_dir_${i} ||
error "migrate remote dir error $i"
done
check_fs_consistency_17n || error "e2fsck report error after migration"
run_test 27d "create file with default settings ================"
test_27e() {
+ # LU-5839 adds check for existed layout before setting it
+ [[ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.7.56) ]] &&
+ skip "Need MDS version at least 2.7.56" && return
test_mkdir -p $DIR/d27
$SETSTRIPE -c 2 $DIR/d27/f12 || error "setstripe failed"
$SETSTRIPE -c 2 $DIR/d27/f12 && error "setstripe succeeded twice"
test_116a() { # was previously test_116()
[ $PARALLEL == "yes" ] && skip "skip parallel run" && return
+ remote_mds_nodsh && skip "remote MDS with nodsh" && return
+
[[ $OSTCOUNT -lt 2 ]] && skip_env "$OSTCOUNT < 2 OSTs" && return
echo -n "Free space priority "
test_116b() { # LU-2093
[ $PARALLEL == "yes" ] && skip "skip parallel run" && return
+ remote_mds_nodsh && skip "remote MDS with nodsh" && return
+
#define OBD_FAIL_MDS_OSC_CREATE_FAIL 0x147
local old_rr=$(do_facet $SINGLEMDS lctl get_param -n \
lo*.$FSNAME-MDT0000-mdtlov.qos_threshold_rr | head -1)
run_test 160b "Verify that very long rename doesn't crash in changelog"
test_160c() {
+ remote_mds_nodsh && skip "remote MDS with nodsh" && return
+
local rc=0
local server_version=$(lustre_version_code $SINGLEMDS)
# LU-4239: Verify fid2path works with paths 100 or more directories deep
test_162c() {
+ [[ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.7.51) ]] &&
+ skip "Need MDS version at least 2.7.51" && return
test_mkdir $DIR/$tdir.local
test_mkdir $DIR/$tdir.remote
local lpath=$tdir.local
run_test 185 "Volatile file support"
test_187a() {
+ remote_mds_nodsh && skip "remote MDS with nodsh" && return
+ [ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.3.0) ] &&
+ skip "Need MDS version at least 2.3.0" && return
+
local dir0=$DIR/$tdir/$testnum
mkdir -p $dir0 || error "creating dir $dir0"
run_test 187a "Test data version change"
test_187b() {
+ remote_mds_nodsh && skip "remote MDS with nodsh" && return
+ [ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.3.0) ] &&
+ skip "Need MDS version at least 2.3.0" && return
+
local dir0=$DIR/$tdir/$testnum
mkdir -p $dir0 || error "creating dir $dir0"
test_205() { # Job stats
[ $PARALLEL == "yes" ] && skip "skip parallel run" && return
remote_mgs_nodsh && skip "remote MGS with nodsh" && return
+ remote_mds_nodsh && skip "remote MDS with nodsh" && return
+ remote_ost_nodsh && skip "remote OST with nodsh" && return
+
[ -z "$(lctl get_param -n mdc.*.connect_flags | grep jobstats)" ] &&
skip "Server doesn't support jobstats" && return 0
[[ $JOBID_VAR = disable ]] && skip "jobstats is disabled" && return
# for now as only exclusive open is supported. After generic lease
# is done, this test suite should be revised. - Jinshan
+ remote_mds_nodsh && skip "remote MDS with nodsh" && return
[[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.4.52) ]] ||
{ skip "Need MDS version at least 2.4.52"; return 0; }
- remote_mds_nodsh && skip "remote MDS with nodsh" && return
echo "==== test 1: verify get lease work"
$MULTIOP $DIR/$tfile oO_CREAT:O_RDWR:eRE+eU || error "get lease error"
test_220() { #LU-325
[ $PARALLEL == "yes" ] && skip "skip parallel run" && return
remote_ost_nodsh && skip "remote OST with nodsh" && return
+ remote_mds_nodsh && skip "remote MDS with nodsh" && return
+ remote_mgs_nodsh && skip "remote MGS with nodsh" && return
local OSTIDX=0
test_mkdir -p $DIR/$tdir
MDSSURVEY=${MDSSURVEY:-$(which mds-survey 2>/dev/null || true)}
test_225a () {
[ $PARALLEL == "yes" ] && skip "skip parallel run" && return
+ remote_mds_nodsh && skip "remote MDS with nodsh" && return
if [ -z ${MDSSURVEY} ]; then
skip_env "mds-survey not found" && return
fi
test_225b () {
[ $PARALLEL == "yes" ] && skip "skip parallel run" && return
-
+ remote_mds_nodsh && skip "remote MDS with nodsh" && return
if [ -z ${MDSSURVEY} ]; then
skip_env "mds-survey not found" && return
fi
ln -s $migrate_dir/$tfile $migrate_dir/${tfile}_ln
ln -s $other_dir/$tfile $migrate_dir/${tfile}_ln_other
- $LFS mv -v -M $MDTIDX $migrate_dir ||
+ $LFS migrate -m $MDTIDX $migrate_dir ||
error "migrate remote dir error"
echo "migratate to MDT1, then checking.."
#migrate back to MDT0
MDTIDX=0
- $LFS mv -v -M $MDTIDX $migrate_dir ||
+ $LFS migrate -m $MDTIDX $migrate_dir ||
error "migrate remote dir error"
echo "migrate back to MDT0, checking.."
test_230c() {
[ $PARALLEL == "yes" ] && skip "skip parallel run" && return
+ remote_mds_nodsh && skip "remote MDS with nodsh" && return
[ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return
local MDTIDX=1
local mdt_index
do_facet mds1 lctl set_param fail_loc=0x20001801
do_facet mds1 lctl set_param fail_val=5
local t=$(ls $migrate_dir | wc -l)
- $LFS mv --mdt-index $MDTIDX $migrate_dir &&
+ $LFS migrate --mdt-index $MDTIDX $migrate_dir &&
error "migrate should fail after 5 entries"
local u=$(ls $migrate_dir | wc -l)
[ "$u" == "$t" ] || error "$u != $t during migration"
do_facet mds1 lctl set_param fail_loc=0
do_facet mds1 lctl set_param fail_val=0
- $LFS mv -M $MDTIDX $migrate_dir ||
+ $LFS migrate -m $MDTIDX $migrate_dir ||
error "migrate open files should failed with open files"
echo "Finish migration, then checking.."
error "create files under remote dir failed $i"
done
- $LFS mv -M $MDTIDX -v $migrate_dir || error "migrate remote dir error"
+ $LFS migrate -m $MDTIDX $migrate_dir ||
+ error "migrate remote dir error"
echo "Finish migration, then checking.."
for file in $(find $migrate_dir); do
}
run_test 300k "test large striped directory"
+test_300l() {
+ [ $PARALLEL == "yes" ] && skip "skip parallel run" && return
+ [ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return
+ local stripe_index
+
+ test_mkdir -p $DIR/$tdir/striped_dir
+ chown $RUNAS_ID $DIR/$tdir/striped_dir ||
+ error "chown $RUNAS_ID failed"
+ $LFS setdirstripe -i 1 -D $DIR/$tdir/striped_dir ||
+ error "set default striped dir failed"
+
+ #define OBD_FAIL_MDS_STALE_DIR_LAYOUT 0x158
+ $LCTL set_param fail_loc=0x80000158
+ $RUNAS mkdir $DIR/$tdir/striped_dir/test_dir || error "create dir fails"
+
+ stripe_index=$($LFS getdirstripe -i $DIR/$tdir/striped_dir/test_dir)
+ [ $stripe_index -eq 1 ] ||
+ error "expect 1 get $stripe_index for $dir"
+}
+run_test 300l "non-root user to create dir under striped dir with stale layout"
+
prepare_remote_file() {
mkdir $DIR/$tdir/src_dir ||
error "create remote source failed"