+test_56xd() {
+ [[ $OSTCOUNT -lt 2 ]] && skip_env "needs >= 2 OSTs"
+
+ local dir=$DIR/$tdir
+ local f_mgrt=$dir/$tfile.mgrt
+ local f_yaml=$dir/$tfile.yaml
+ local f_copy=$dir/$tfile.copy
+ local layout_yaml="-E 1M -S 512K -c 1 -E -1 -S 1M -c 2 -i 0"
+ local layout_copy="-c 2 -S 2M -i 1"
+ local yamlfile=$dir/yamlfile
+ local layout_before;
+ local layout_after;
+
+ test_mkdir "$dir" || error "cannot create dir $dir"
+ $LFS setstripe $layout_yaml $f_yaml ||
+ error "cannot setstripe $f_yaml with layout $layout_yaml"
+ $LFS getstripe --yaml $f_yaml > $yamlfile
+ $LFS setstripe $layout_copy $f_copy ||
+ error "cannot setstripe $f_copy with layout $layout_copy"
+ touch $f_mgrt
+ dd if=/dev/zero of=$f_mgrt bs=1M count=4
+
+ # 1. test option --yaml
+ $LFS_MIGRATE -y --yaml $yamlfile $f_mgrt ||
+ error "cannot migrate $f_mgrt with --yaml $yamlfile"
+ layout_before=$(get_layout_param $f_yaml)
+ layout_after=$(get_layout_param $f_mgrt)
+ [ "$layout_after" == "$layout_before" ] ||
+ error "lfs_migrate --yaml: $layout_after != $layout_before"
+
+ # 2. test option --copy
+ $LFS_MIGRATE -y --copy $f_copy $f_mgrt ||
+ error "cannot migrate $f_mgrt with --copy $f_copy"
+ layout_before=$(get_layout_param $f_copy)
+ layout_after=$(get_layout_param $f_mgrt)
+ [ "$layout_after" == "$layout_before" ] ||
+ error "lfs_migrate --copy: $layout_after != $layout_before"
+}
+run_test 56xd "check lfs_migrate --yaml and --copy support"
+
+test_56xe() {
+ [[ $OSTCOUNT -lt 2 ]] && skip_env "needs >= 2 OSTs"
+
+ local dir=$DIR/$tdir
+ local f_comp=$dir/$tfile
+ local layout="-E 1M -S 512K -c 1 -E -1 -S 1M -c 2 -i 0"
+ local layout_before=""
+ local layout_after=""
+
+ test_mkdir "$dir" || error "cannot create dir $dir"
+ $LFS setstripe $layout $f_comp ||
+ error "cannot setstripe $f_comp with layout $layout"
+ layout_before=$(get_layout_param $f_comp)
+ dd if=/dev/zero of=$f_comp bs=1M count=4
+
+ # 1. migrate a comp layout file by lfs_migrate
+ $LFS_MIGRATE -y $f_comp || error "cannot migrate $f_comp by lfs_migrate"
+ layout_after=$(get_layout_param $f_comp)
+ [ "$layout_before" == "$layout_after" ] ||
+ error "lfs_migrate: $layout_before != $layout_after"
+
+ # 2. migrate a comp layout file by lfs migrate
+ $LFS migrate $f_comp || error "cannot migrate $f_comp by lfs migrate"
+ layout_after=$(get_layout_param $f_comp)
+ [ "$layout_before" == "$layout_after" ] ||
+ error "lfs migrate: $layout_before != $layout_after"
+}
+run_test 56xe "migrate a composite layout file"
+