If we leave revalidate_it by returning 0, thus causing a lookup_it call which
re-uses the same request, then we shouldn't drop our reference on the request.
In the past, we accounted for this by doing an addref in mdc_intent_lock in the
-ESTALE case, but this was wrong. That was just one of many ways that we can
leave revalidate and enter lookup, and this patch fixes that whole class of
erroneous decrefs.
init_test_env
# Skip these tests
-# 3 - bug 1852
-ALWAYS_EXCEPT="3"
+ALWAYS_EXCEPT=""
# XXX I wish all this stuff was in some default-config.sh somewhere
MOUNT=${MOUNT:-/mnt/lustre}
}
run_test 2b "touch"
-# bug 1852
test_3() {
replay_barrier mds
mcreate $DIR/$tfile
o_directory $DIR/$tfile
- rm -f $DIR/$tfile
fail mds
- $CHECKSTAT -t file $DIR/$tfile && return 2
+ $CHECKSTAT -t file $DIR/$tfile || return 2
+ rm $DIR/$tfile
}
run_test 3 "replay failed open"