DOM_SIZE=${DOM_SIZE:-"$((1024*1024))"}
OSC="mdc"
-lfs setstripe -E $DOM_SIZE -L mdt -E EOF $DIR1
+trap restore_default_layout EXIT
+restore_default_layout() {
+ [ -n "$saved_layout" ] && restore_layout $DIR1 $saved_layout ||
+ $LFS setstripe -d $DIR1
+}
+
+saved_layout=$(save_layout $DIR1)
+$LFS setstripe -E $DOM_SIZE -L mdt -E EOF $DIR1
mkdir -p $MOUNT2
mount_client $MOUNT2
-lctl set_param debug=0xffffffff 2> /dev/null
-
test_1() {
dd if=/dev/zero of=$DIR1/$tfile bs=7k count=1 || error "write 1"
$TRUNCATE $DIR2/$tfile 1000 || error "truncate"
server_grant=$(do_nodes $(comma_list $(osts_nodes)) \
"$LCTL get_param "\
"obdfilter.${FSNAME}-OST*.{tot_granted,tot_pending,grant_precreate}" |
- sed 's/=/ /'| awk '/tot_granted/{ total += $2 };
+ sed 's/=/ /'| awk '/tot_granted/{ total += $2 };
/tot_pending/{ total -= $2 };
/grant_precreate/{ total -= $2 };
END { printf("%0.0f", total) }')
# controllable
cancel_lru_locks mdc
cancel_lru_locks osc
-
+
# make sure PFID is set correctly for files
do_nodes $(comma_list $(osts_nodes)) \
"$LCTL set_param -n obdfilter.${FSNAME}-OST*.lfsck_verify_pfid=1"
[ $? -eq 0 ] || error "$osc state is not FULL"
done
}
+
+restore_layout() {
+ local dir=$1
+ local layout=$2
+
+ [ -z "$layout" ] && return
+
+ setfattr -n trusted.lov -v $layout $dir ||
+ error "error restoring layout \"$layout\" to \"$dir\""
+}
+
+save_layout() {
+ local dir=$1
+ local str=$(getfattr -n trusted.lov --absolute-names -e hex $dir |
+ awk -F'=' '/trusted.lov/{print $2}')
+ echo "$str"
+}