" s stat\n"
" S fstat\n"
" t fchmod\n"
+" T ftruncate to zero\n"
" w write\n"
" z seek to zero\n";
exit(1);
}
break;
- case 't':
+ case 't':
if (fchmod(fd, 0) == -1) {
perror("fchmod");
exit(1);
}
break;
+ case 'T':
+ if (ftruncate(fd, 0) == -1) {
+ perror("ftruncate");
+ exit(1);
+ }
+ break;
case 'u':
if (unlink(fname) == -1) {
perror("unlink");
exit(1);
}
}
-
+
return 0;
}
gen_config
start mds --reformat
+PINGER=`cat /proc/fs/lustre/pinger`
+
+if [ "$PINGER" != "on" ]; then
+ echo "ERROR: Lustre must be built with --enable-pinger for replay-dual"
+ stop mds
+ exit
+fi
+
start ost --reformat
start client1
start client2
#!/bin/sh
+
LUSTRE=`dirname $0`/..
-$LUSTRE/utils/lctl --device %$3 recover ||
- logger -p kern.info recovery failed: $@
\ No newline at end of file
+
+failed_import() {
+ $LUSTRE/utils/lctl --device %$3 recover ||
+ logger -p kern.info recovery failed: $@
+}
+
+recovery_over() {
+ logger -p kern.info upcall: $@
+}
+
+
+case "$1" in
+FAILED_IMPORT) failed_import $@
+ ;;
+RECOVERY_OVER) recovery_over $@
+ ;;
+esac