Whamcloud - gitweb
b=2104
authorphil <phil>
Sat, 11 Oct 2003 21:55:52 +0000 (21:55 +0000)
committerphil <phil>
Sat, 11 Oct 2003 21:55:52 +0000 (21:55 +0000)
- make sure to clear all pointers when various structures are freed

- if mdc_close can't find the mdc_open_data, then it should expect the close
RPC to fail; if it doesn't, print a stern warning

- Adds replay-single test 32, testing both the case where the close() is the
RPC that detects the eviction (-EIO) and the case where the close() runs
afterwards (-ESTALE)

lustre/tests/replay-single.sh

index 20dfb31..8ab3e24 100755 (executable)
@@ -596,5 +596,21 @@ test_31() {
 }
 run_test 31 "open(O_CREAT) two, unlink one, |X| unlink one, close two (test mds_cleanup_orphans)"
 
+# tests for bug 2104; completion without crashing is success.  The close is
+# stale, but we always return 0 for close, so the app never sees it.
+test_32() {
+    multiop $DIR/$tfile O_c &
+    pid1=$!
+    multiop $DIR/$tfile O_c &
+    pid2=$!
+    # give multiop a chance to open
+    sleep 1
+    mds_evict_client
+    kill -USR1 $pid1
+    kill -USR1 $pid2
+    return 0
+}
+run_test 32 "close() notices client eviction; close() after client eviction"
+
 equals_msg test complete, cleaning up
 cleanup