+test_24x() {
+ [ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return
+ [ $PARALLEL == "yes" ] && skip "skip parallel run" && return
+ local MDTIDX=1
+ local remote_dir=$DIR/$tdir/remote_dir
+
+ mkdir -p $DIR/$tdir
+ $LFS mkdir -i $MDTIDX $remote_dir ||
+ error "create remote directory failed"
+
+ mkdir -p $DIR/$tdir/src_dir
+ touch $DIR/$tdir/src_file
+ mkdir -p $remote_dir/tgt_dir
+ touch $remote_dir/tgt_file
+
+ mrename $DIR/$tdir/src_dir $remote_dir/tgt_dir &&
+ error "rename dir cross MDT works!"
+
+ mrename $DIR/$tdir/src_file $remote_dir/tgt_file &&
+ error "rename file cross MDT works!"
+
+ ln $DIR/$tdir/src_file $remote_dir/tgt_file1 &&
+ error "ln file cross MDT should not work!"
+
+ rm -rf $DIR/$tdir || error "Can not delete directories"
+}
+run_test 24x "cross rename/link should be failed"
+
+test_24y() {
+ [ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return
+ [ $PARALLEL == "yes" ] && skip "skip parallel run" && return
+ local MDTIDX=1
+ local remote_dir=$DIR/$tdir/remote_dir
+
+ mkdir -p $DIR/$tdir
+ $LFS mkdir -i $MDTIDX $remote_dir ||
+ error "create remote directory failed"
+
+ mkdir -p $remote_dir/src_dir
+ touch $remote_dir/src_file
+ mkdir -p $remote_dir/tgt_dir
+ touch $remote_dir/tgt_file
+
+ mrename $remote_dir/src_dir $remote_dir/tgt_dir ||
+ error "rename subdir in the same remote dir failed!"
+
+ mrename $remote_dir/src_file $remote_dir/tgt_file ||
+ error "rename files in the same remote dir failed!"
+
+ ln $remote_dir/tgt_file $remote_dir/tgt_file1 ||
+ error "link files in the same remote dir failed!"
+
+ rm -rf $DIR/$tdir || error "Can not delete directories"
+}
+run_test 24y "rename/link on the same dir should succeed"
+
+test_24z() {
+ [ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return
+ [ $PARALLEL == "yes" ] && skip "skip parallel run" && return
+ local MDTIDX=1
+ local remote_src=$DIR/$tdir/remote_dir
+ local remote_tgt=$DIR/$tdir/remote_tgt
+
+ mkdir -p $DIR/$tdir
+ $LFS mkdir -i $MDTIDX $remote_src ||
+ error "create remote directory failed"
+
+ $LFS mkdir -i $MDTIDX $remote_tgt ||
+ error "create remote directory failed"
+
+ mrename $remote_src $remote_tgt &&
+ error "rename remote dirs should not work!"
+
+ rm -rf $DIR/$tdir || error "Can not delete directories"
+}
+run_test 24z "rename one remote dir to another remote dir should fail"
+