X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Ftests%2Fopenclose.c;h=22c859c2956618f6cc6ddf1c5350b294c92dbcb5;hb=44711ce0e1c6de1bb016d4d39e1054efb0223568;hp=ca10134b9944e439407d64b4a4991c668f1780b2;hpb=c5050e412572b00cbe93d8517d2d1f767bebfa92;p=fs%2Flustre-release.git diff --git a/lustre/tests/openclose.c b/lustre/tests/openclose.c index ca10134..22c859c 100644 --- a/lustre/tests/openclose.c +++ b/lustre/tests/openclose.c @@ -16,7 +16,10 @@ #include #include -#include +#include +#ifndef O_DIRECT +#define O_DIRECT 0 +#endif int main(int argc, char *argv[]) { @@ -65,10 +68,10 @@ int main(int argc, char *argv[]) continue; if (ret < 0) { - fprintf(stderr, "error: %s: wait - %s\n", - argv[0], strerror(errno)); if (!rc) rc = errno; + fprintf(stderr, "error: %s: wait - %s\n", + argv[0], strerror(rc)); } else { /* * This is a hack. We _should_ be able to use @@ -94,43 +97,42 @@ int main(int argc, char *argv[]) fd = open(filename, O_RDWR|O_CREAT, 0644); if (fd < 0) { + rc = errno; fprintf(stderr, "open(%s, O_CREAT): %s\n", filename, - strerror(errno)); - exit(errno); + strerror(rc)); + exit(rc); } if (close(fd) < 0) { - fprintf(stderr, "close(): %s\n", strerror(errno)); rc = errno; + fprintf(stderr, "close(): %s\n", strerror(rc)); goto unlink; } for (i = 0; i < count; i++) { fd = open(filename, O_RDWR|O_LARGEFILE|O_DIRECT); if (fd < 0) { - fprintf(stderr, "open(%s, O_RDWR): %s\n", - filename, strerror(errno)); rc = errno; + fprintf(stderr, "open(%s, O_RDWR): %s\n", + filename, strerror(rc)); break; } if (ioctl(fd, LL_IOC_SETFLAGS, &ioctl_flags) < 0 && errno != ENOTTY) { - fprintf(stderr, "ioctl(): %s\n", - strerror(errno)); rc = errno; + fprintf(stderr, "ioctl(): %s\n", strerror(rc)); break; } if (close(fd) < 0) { - fprintf(stderr, "close(): %s\n", - strerror(errno)); rc = errno; + fprintf(stderr, "close(): %s\n", strerror(rc)); break; } } unlink: if (unlink(filename) < 0) { - fprintf(stderr, "unlink(%s): %s\n", filename, - strerror(errno)); rc = errno; + fprintf(stderr, "unlink(%s): %s\n", filename, + strerror(rc)); } if (threads) printf("Thread %d done: rc = %d\n", thread, rc);