diff --git a/Makefile.am b/Makefile.am index 5b7b35d6..97b6abe3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -271,6 +271,8 @@ endif $(TESTENV) ./snapraid$(EXEEXT) $(CHECKFLAGS) -c $(CONF) --test-force-murmur3 --test-force-autosave-at 100 sync $(TESTENV) ./snapraid$(EXEEXT) $(CHECKFLAGS_VERBOSE) -c $(CONF) dup -l test.log $(TESTENV) ./snapraid$(EXEEXT) $(CHECKFLAGS_VERBOSE) -c $(CONF) list -l test.log > output.log + $(TESTENV) ./snapraid$(EXEEXT) $(CHECKFLAGS_VERBOSE) -c $(CONF) test-rewrite + $(TESTENV) ./snapraid$(EXEEXT) $(CHECKFLAGS_VERBOSE) -c $(CONF) test-read $(TESTENV) ./snapraid$(EXEEXT) $(CHECKFLAGS) -c $(CONF) status -l test.log if HAVE_SYMLINK $(TESTENV) ./snapraid$(EXEEXT) $(CHECKFLAGS) -c $(PAR1) pool @@ -568,11 +570,9 @@ endif rm bench/disk3/a/6* rm bench/disk4/a/6* $(TESTENV) ./snapraid$(EXEEXT) $(CHECKFLAGS) -c $(CONF) -B 10 sync - $(TESTENV) ./snapraid$(EXEEXT) $(CHECKFLAGS_VERBOSE) -c $(CONF) test-rewrite $(TESTENV) ./snapraid$(EXEEXT) $(CHECKFLAGS) -c $(CONF) check -l test.log $(TESTENV) ./mktest$(EXEEXT) generate 4 6 $(CHECKCOUNT) $(CHECKSIZE) $(TESTENV) ./snapraid$(EXEEXT) $(CHECKFLAGS) -c $(CONF) -B 100 sync - $(TESTENV) ./snapraid$(EXEEXT) $(CHECKFLAGS) -c $(CONF) test-rewrite $(TESTENV) ./snapraid$(EXEEXT) $(CHECKFLAGS) -c $(CONF) -B 1000 sync $(TESTENV) ./snapraid$(EXEEXT) $(CHECKFLAGS) -c $(CONF) check -l test.log $(TESTENV) ./snapraid$(EXEEXT) $(CHECKFLAGS) -c $(CONF) sync diff --git a/cmdline/snapraid.c b/cmdline/snapraid.c index 3f083899..17afa3fa 100644 --- a/cmdline/snapraid.c +++ b/cmdline/snapraid.c @@ -390,11 +390,12 @@ void signal_handler(int signal) #define OPERATION_SCRUB 9 #define OPERATION_STATUS 10 #define OPERATION_REWRITE 11 -#define OPERATION_NANO 12 -#define OPERATION_SPINUP 13 -#define OPERATION_SPINDOWN 14 -#define OPERATION_DEVICES 15 -#define OPERATION_SMART 16 +#define OPERATION_READ 12 +#define OPERATION_NANO 13 +#define OPERATION_SPINUP 14 +#define OPERATION_SPINDOWN 15 +#define OPERATION_DEVICES 16 +#define OPERATION_SMART 17 int main(int argc, char* argv[]) { @@ -761,6 +762,8 @@ int main(int argc, char* argv[]) operation = OPERATION_STATUS; } else if (strcmp(argv[optind], "test-rewrite") == 0) { operation = OPERATION_REWRITE; + } else if (strcmp(argv[optind], "test-read") == 0) { + operation = OPERATION_READ; } else if (strcmp(argv[optind], "test-nano") == 0) { operation = OPERATION_NANO; } else if (strcmp(argv[optind], "up") == 0) { @@ -888,6 +891,7 @@ int main(int argc, char* argv[]) case OPERATION_DUP : case OPERATION_STATUS : case OPERATION_REWRITE : + case OPERATION_READ : case OPERATION_REHASH : case OPERATION_SPINUP : /* we want to do it in different threads to avoid blocking */ /* avoid to check and access data disks if not needed */ @@ -902,6 +906,7 @@ int main(int argc, char* argv[]) case OPERATION_POOL : case OPERATION_STATUS : case OPERATION_REWRITE : + case OPERATION_READ : case OPERATION_REHASH : case OPERATION_NANO : case OPERATION_SPINUP : /* we want to do it in different threads to avoid blocking */ @@ -1129,6 +1134,10 @@ int main(int argc, char* argv[]) state_write(&state); + memory(); + } else if (operation == OPERATION_READ) { + state_read(&state); + memory(); } else if (operation == OPERATION_NANO) { state_read(&state);