]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
qa: add snaptest-snap-rm-cmp
authorSage Weil <sage@newdream.net>
Wed, 18 Aug 2010 20:44:34 +0000 (13:44 -0700)
committerSage Weil <sage@newdream.net>
Wed, 18 Aug 2010 20:44:34 +0000 (13:44 -0700)
This (usually) reproduced a bug where:

 - we write a big file
 - snap it
 - remove it.  this makes the mds cow it.
 - cp the snapped version.
   - mds syncs the head
   - client starts writeback
   - (sometimes!) client sends other caps back to the mds
     - mds does null flushsnap, not realizing a real one is still coming

qa/workunits/snaptest-snap-rm-cmp.sh [new file with mode: 0755]

diff --git a/qa/workunits/snaptest-snap-rm-cmp.sh b/qa/workunits/snaptest-snap-rm-cmp.sh
new file mode 100755 (executable)
index 0000000..ab13cda
--- /dev/null
@@ -0,0 +1,24 @@
+#!/bin/sh -x
+
+set -e
+
+file=linux-2.6.33.tar.bz2
+wget http://ceph.newdream.net/qa/$file
+
+real=`md5sum $file | awk '{print $1}'`
+
+for f in `seq 1 20`
+do
+    echo $f
+    cp $file a
+    mkdir .snap/s
+    rm a
+    cp .snap/s/a /tmp/a
+    cur=`md5sum /tmp/a | awk '{print $1}'`
+    if [ "$cur" != "$real" ]; then
+       echo "FAIL: bad match, /tmp/a $cur != real $real"
+       false
+    fi
+    rmdir .snap/s
+done
+rm $file
\ No newline at end of file