From: Jeffrey Altman Date: Mon, 21 Dec 2009 17:29:10 +0000 (-0500) Subject: Windows: alter nmtest CreateFile modes X-Git-Tag: openafs-devel-1_5_69~33 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=6a96e0bf92e0a454e9d4fccf61402c033f374722;p=packages%2Fo%2Fopenafs.git Windows: alter nmtest CreateFile modes Change -r to open the file for FILE_SHARE_READ Change -w to open the file for FILE_SHARE_WRITE Change -w to open the file twice. Once for sequential access and once for random access. LICENSE MIT Change-Id: I295a7e7408e7e7eac06901108a726fe9e94bf18f Reviewed-on: http://gerrit.openafs.org/1016 Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Asanka Herath Tested-by: Asanka Herath Reviewed-by: Jeffrey Altman --- diff --git a/src/WINNT/tests/nmtest/nmtest.c b/src/WINNT/tests/nmtest/nmtest.c index d7604a418..f85e3d4af 100644 --- a/src/WINNT/tests/nmtest/nmtest.c +++ b/src/WINNT/tests/nmtest/nmtest.c @@ -370,7 +370,7 @@ int do_verify_test(void) printf("Verifying test data file [%s]\n", filename); - h_file = CreateFile(filename, GENERIC_READ, FILE_SHARE_WRITE, NULL, + h_file = CreateFile(filename, GENERIC_READ, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_FLAG_SEQUENTIAL_SCAN, NULL); if (h_file == INVALID_HANDLE_VALUE) { fprintf(stderr, "Can't open file [%s] GLE=%d\n", filename, GetLastError()); @@ -460,8 +460,8 @@ int do_write_test(void) printf("Using N = %I64d and M = %I64d\n", N, M); - h_file = CreateFile(filename, GENERIC_WRITE, FILE_SHARE_WRITE, NULL, - CREATE_ALWAYS, FILE_FLAG_RANDOM_ACCESS, NULL); + h_file = CreateFile(filename, GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, + CREATE_ALWAYS, FILE_FLAG_SEQUENTIAL_SCAN, NULL); if (h_file == INVALID_HANDLE_VALUE) { fprintf(stderr, "Can't create file [%s] GLE=%d\n", filename, GetLastError()); goto done; @@ -527,6 +527,15 @@ int do_write_test(void) goto done; } + CloseHandle(h_file); + + h_file = CreateFile(filename, GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, + OPEN_ALWAYS, FILE_FLAG_RANDOM_ACCESS, NULL); + if (h_file == INVALID_HANDLE_VALUE) { + fprintf(stderr, "Can't create file [%s] GLE=%d\n", filename, GetLastError()); + goto done; + } + printf("Phase 2: Overwriting test data ... \n"); for (offset = 0; offset < M; offset += BLOCKSIZE) {