}
run_test 101h "Readahead should cover current read window"
+test_101i() {
+ dd if=/dev/zero of=$DIR/$tfile bs=1M count=10 ||
+ error "dd 10M file failed"
+
+ local max_per_file_mb=$($LCTL get_param -n \
+ llite.*.max_read_ahead_per_file_mb 2>/dev/null)
+ cancel_lru_locks osc
+ stack_trap "$LCTL set_param llite.*.max_read_ahead_per_file_mb=$max_per_file_mb"
+ $LCTL set_param llite.*.max_read_ahead_per_file_mb=1 ||
+ error "set max_read_ahead_per_file_mb to 1 failed"
+
+ echo "Reset readahead stats"
+ $LCTL set_param llite.*.read_ahead_stats=0
+
+ dd if=$DIR/$tfile of=/dev/null bs=2M
+
+ $LCTL get_param llite.*.read_ahead_stats
+ local miss=$($LCTL get_param -n llite.*.read_ahead_stats |
+ awk '/misses/ { print $2 }')
+ [ $miss -eq 5 ] || error "expected misses 5 but got $miss"
+ rm -f $DIR/$tfile
+}
+run_test 101i "allow current readahead to exceed reservation"
+
setup_test102() {
test_mkdir $DIR/$tdir
chown $RUNAS_ID $DIR/$tdir
}
run_test 278 "Race starting MDS between MDTs stop/start"
+test_280() {
+ [ $MGS_VERSION -lt $(version_code 2.13.52) ] &&
+ skip "Need MGS version at least 2.13.52"
+ [ $PARALLEL == "yes" ] && skip "skip parallel run"
+ combined_mgs_mds || skip "needs combined MGS/MDT"
+
+ umount_client $MOUNT
+#define OBD_FAIL_MDS_LLOG_UMOUNT_RACE 0x15e
+ do_facet mgs $LCTL set_param fail_loc=0x8000015e fail_val=0
+
+ mount_client $MOUNT &
+ sleep 1
+ stop mgs || error "stop mgs failed"
+ #for a race mgs would crash
+ start mgs $(mgsdevname) $MGS_MOUNT_OPTS || error "start mgs failed"
+ mount_client $MOUNT || error "mount client failed"
+}
+run_test 280 "Race between MGS umount and client llog processing"
+
cleanup_test_300() {
trap 0
umask $SAVE_UMASK
#local striped directory
$LFS setdirstripe -i 0 -c 2 -H all_char $DIR/$tdir/striped_dir ||
error "set striped dir error"
+ #look at the directories for debug purposes
+ ls -l $DIR/$tdir
+ $LFS getdirstripe $DIR/$tdir
+ ls -l $DIR/$tdir/striped_dir
+ $LFS getdirstripe $DIR/$tdir/striped_dir
createmany -o $DIR/$tdir/striped_dir/f 10 ||
error "create 10 files failed"
#remote striped directory
$LFS setdirstripe -i 1 -c 2 $DIR/$tdir/remote_striped_dir ||
error "set striped dir error"
+ #look at the directories for debug purposes
+ ls -l $DIR/$tdir
+ $LFS getdirstripe $DIR/$tdir
+ ls -l $DIR/$tdir/remote_striped_dir
+ $LFS getdirstripe $DIR/$tdir/remote_striped_dir
createmany -o $DIR/$tdir/remote_striped_dir/f 10 ||
error "create 10 files failed"
}
run_test 901 "don't leak a mgc lock on client umount"
+# LU-13377
+test_902() {
+ [ $CLIENT_VERSION -lt $(version_code 2.13.52) ] &&
+ skip "client does not have LU-13377 fix"
+ #define OBD_FAIL_LLITE_SHORT_COMMIT 0x1415
+ $LCTL set_param fail_loc=0x1415
+ dd if=/dev/zero of=$DIR/$tfile bs=1M count=1
+ cancel_lru_locks osc
+ rm -f $DIR/$tfile
+}
+run_test 902 "test short write doesn't hang lustre"
+
complete $SECONDS
[ -f $EXT2_DEV ] && rm $EXT2_DEV || true
check_and_cleanup_lustre