}
run_test 160d "verify that changelog log catch the migrate event"
+test_160e() {
+ # Create a user
+ CL_USER=$(do_facet $SINGLEMDS $LCTL --device $MDT0 \
+ changelog_register -n)
+ echo "Registered as changelog user $CL_USER"
+ trap cleanup_changelog EXIT
+
+ # Delete a future user (expect fail)
+ do_facet $SINGLEMDS $LCTL --device $MDT0 changelog_deregister cl77
+ local rc=$?
+
+ if [ $rc -eq 0 ]; then
+ error "Deleted non-existant user cl77"
+ elif [ $rc -ne 2 ]; then
+ error "changelog_deregister failed with $rc, " \
+ "expected 2 (ENOENT)"
+ fi
+
+ # Clear to a bad index (1 billion should be safe)
+ $LFS changelog_clear $MDT0 $CL_USER 1000000000
+ rc=$?
+
+ if [ $rc -eq 0 ]; then
+ error "Successfully cleared to invalid CL index"
+ elif [ $rc -ne 22 ]; then
+ error "changelog_clear failed with $rc, expected 22 (EINVAL)"
+ fi
+}
+run_test 160e "changelog negative testing"
+
test_161a() {
[ $PARALLEL == "yes" ] && skip "skip parallel run" && return
test_mkdir -p -c1 $DIR/$tdir
remote_mds_nodsh && skip "remote MDS with nodsh" && return
remote_mgs_nodsh && skip "remote MGS with nodsh" && return
- local ost_name=$($LFS osts | grep ${ostidx}": " | \
- awk '{print $2}' | sed -e 's/_UUID$//')
+ local ost_name=$($LFS osts |
+ sed -n 's/^'$ostidx': \(.*\)_UUID .*/\1/p')
# on the mdt's osc
local mdtosc_proc1=$(get_mdtosc_proc_path $SINGLEMDS $ost_name)
do_facet $SINGLEMDS $LCTL get_param -n \
local new_iused
for i in $(seq 120); do
new_iused=$($LFS df -i | grep OST0000 | awk '{ print $3 }')
- [ $((old_iused - new_iused)) -gt 800 ] && break
+ # system may be too busy to destroy all objs in time, use
+ # a somewhat small value to not fail autotest
+ [ $((old_iused - new_iused)) -gt 400 ] && break
sleep 1
done
echo "waited $i sec, old Iused $old_iused, new Iused $new_iused"
- [ $((old_iused - new_iused)) -gt 800 ] ||
+ [ $((old_iused - new_iused)) -gt 400 ] ||
error "objs not destroyed after unlink"
}
run_test 311 "disable OSP precreate, and unlink should destroy objs"