* a seamless buf_size worth of IO_PATTERN to the last block.
*/
if (memcmp(buf, cmp_buf, buf_size)) {
- printf("corruption while extending from %ld\n", eof);
+ printf("corruption while extending from %lld\n",
+ (long long) eof);
dump_buffer(buf, 0, buf_size);
return 1;
}
return 1;
}
fd = open(argv[1], O_CREAT | O_TRUNC | O_RDWR, 0600);
- if (fd < 0)
+ if (fd < 0) {
+ perror("open");
return 1;
+ }
pid1 = fork();
- if (pid1 < 0)
+ if (pid1 < 0) {
+ perror("fork");
return 1;
+ }
if (pid1 == 0) {
struct timeval start, now, delta = { 0, 0 };
flags = fcntl(fd, F_GETFL);
while (1) {
ret = fcntl(fd, F_SETFL, flags | O_DIRECT);
- if (ret)
- return ret;
+ if (ret) {
+ perror("fcntl O_DIRECT");
+ return 1;
+ }
ret = fcntl(fd, F_SETFL, flags);
- if (ret)
- return ret;
-
+ if (ret) {
+ perror("fcntl");
+ return 1;
+ }
gettimeofday(&now, NULL);
timersub(&now, &start, &delta);
if (delta.tv_sec >= LOOP_SECONDS)
}
} else {
/* parent: AIO */
- void *buf;
- posix_memalign(&buf, BUF_SIZE, BUF_SIZE);
+ void *buf = NULL;
+ int err;
+
+ err = posix_memalign(&buf, BUF_SIZE, BUF_SIZE);
+ if (err || buf == NULL) {
+ fprintf(stderr, "posix_memalign failed: %s\n",
+ strerror(err));
+ exit(1);
+ }
/* Two tasks which performs unaligned aio will be serialized
which maks race window wider */
pid2 = fork();
/* seek, write, read and verify */
for (i = 0; i < nr_iter; i++) {
memset(buf_wr, i + 1, blksz);
- log("pwrite(fd_wr, %p, %d, %lu)\n", buf_wr, blksz, seekoff);
+ log("pwrite(fd_wr, %p, %d, %lld)\n", buf_wr, blksz,
+ (long long) seekoff);
if (pwrite(fd_wr, buf_wr, blksz, seekoff) != blksz) {
perror("direct write");
exit(EXIT_FAILURE);
}
}
- log("pread(fd_rd, %p, %d, %lu)\n", buf_rd, blksz, seekoff);
+ log("pread(fd_rd, %p, %d, %lld)\n", buf_rd, blksz,
+ (long long) seekoff);
if (pread(fd_rd, buf_rd, blksz, seekoff) != blksz) {
perror("buffer read");
exit(EXIT_FAILURE);
for (i = 0; i < THREADS; i++) {
if (*(uint64_t*)(va + page_offs[i]) != expect[i]) {
printf("ERROR: thread %d, "
- "offset %08lx, %08lx != %08lx\n", i,
- (va + page_offs[i] - vastart),
- *(uint64_t*)(va + page_offs[i]),
- expect[i]);
+ "offset %08llx, %08llx != %08llx\n", i,
+ (unsigned long long) (va + page_offs[i] - vastart),
+ (unsigned long long) *(uint64_t*)(va + page_offs[i]),
+ (unsigned long long) expect[i]);
errcnt++;
}
}
err(1, "fstat(%i)", fd);
if (stbuf.st_nlink != 0) {
- fprintf(stderr, "nlink is %lu, should be 0\n", stbuf.st_nlink);
+ fprintf(stderr, "nlink is %lu, should be 0\n",
+ (unsigned long) stbuf.st_nlink);
return 1;
}