stripes_per_ost =
(lod_comp->llc_stripe_count - 1)/ost_count + 1;
+ /* user specifies bigger stripe count than available ost count */
+ if (lod_comp->llc_stripe_count > ost_count * stripes_per_ost)
+ lod_comp->llc_stripe_count = ost_count * stripes_per_ost;
+
for (i = 0; i < ost_count * stripes_per_ost;
i++, array_idx = (array_idx + 1) % ost_count) {
ost_idx = osts->op_array[array_idx];
if [[ -n $idx ]]; then
$LFS setstripe -c $count -p $pool -i $idx $dir
else
- $LFS setstripe -c $count -p $pool $dir
+ $LFS setstripe -c $count -p $pool -i -1 $dir
fi
[[ $? -eq 0 ]] || error "$LFS setstripe -p $pool $dir failed"
[[ "$($LFS getstripe --pool $dir)" == "$pool" ]] ||
remote_mds_nodsh && skip "remote MDS with nodsh"
remote_ost_nodsh && skip "remote OST with nodsh"
ost_pools_init
+# reset root directory's stripe offset
+$LFS getstripe -d $MOUNT
+save_layout_restore_at_exit $MOUNT
+$LFS setstripe -i -1 $MOUNT
# Tests for new commands added
test_1a() {
local n_attempts=1
sync_all_data
+ save_layout_restore_at_exit $MOUNT
$LFS setstripe -i 0 -c 1 $DIR
local beforeused=$(df -P $DIR | tail -1 | awk '{ print $3 }')
}
test_90() { # bug 19494
- local dir=$DIR/$tdir
- local ostfail=$(get_random_entry $(get_facets OST))
-
- if [[ $FAILURE_MODE = HARD ]]; then
- local affected=$(affected_facets $ostfail);
- if [[ "$affected" != $ostfail ]]; then
- skip not functional with FAILURE_MODE=$FAILURE_MODE, affected: $affected
- return 0
- fi
- fi
+ local dir=$DIR/$tdir
+ local ostfail=$(get_random_entry $(get_facets OST))
+
+ if [[ $FAILURE_MODE = HARD ]]; then
+ local affected=$(affected_facets $ostfail);
+
+ [[ "$affected" == $ostfail ]] ||
+ skip "cannot use FAILURE_MODE=$FAILURE_MODE, affected: $affected"
+ fi
# ensure all OSTs are active to allow allocations
wait_osts_up
which getfattr > /dev/null 2>&1 || skip_env "no getfattr command"
which setfattr > /dev/null 2>&1 || skip_env "no setfattr command"
- local root_layout=$(save_layout $MOUNT)
- stack_trap "restore_layout $MOUNT $root_layout" EXIT
+ save_layout_restore_at_exit $MOUNT
# new subdirectory under root directory should not inherit
# the default layout from root