Whamcloud - gitweb
b=1852
authorphil <phil>
Thu, 9 Oct 2003 19:18:20 +0000 (19:18 +0000)
committerphil <phil>
Thu, 9 Oct 2003 19:18:20 +0000 (19:18 +0000)
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.

lustre/tests/replay-single.sh

index 4b08afa..20dfb31 100755 (executable)
@@ -8,8 +8,7 @@ LUSTRE=${LUSTRE:-`dirname $0`/..}
 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}
@@ -101,14 +100,13 @@ test_2b() {
 }
 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"