summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen LaHaise <bcrl@kvack.org>2003-01-28 20:48:26 +0000
committerBen LaHaise <bcrl@kvack.org>2003-01-28 20:48:26 +0000
commitdd98c37b2d20d26c0d01c4ffc63382b899954e0b (patch)
tree0e6221b50099202818ca6287ebfcf6c1d50d949b
parentd1ecca92a92013061507214916e03f59a81c79a4 (diff)
downloadlibaio-dd98c37b2d20d26c0d01c4ffc63382b899954e0b.tar.gz
initial test case from jbaron
-rw-r--r--harness/cases/14.t53
1 files changed, 53 insertions, 0 deletions
diff --git a/harness/cases/14.t b/harness/cases/14.t
new file mode 100644
index 0000000..62a80b3
--- /dev/null
+++ b/harness/cases/14.t
@@ -0,0 +1,53 @@
+#include "aio_setup.h"
+#include <sys/mman.h>
+
+#define SIZE 768*1024*1024
+
+//just submit an I/O
+
+int test_main(void)
+{
+ char *buf;
+ int rwfd;
+ int res;
+ long size;
+ struct iocb iocb;
+ struct iocb *iocbs[] = { &iocb };
+ int loop = 10;
+ int i;
+
+ size = SIZE;
+
+ printf("size = %ld\n", size);
+
+ rwfd = open("testdir/rwfile", O_RDWR); assert(rwfd !=
+-1);
+ res = ftruncate(rwfd, 0); assert(res == 0);
+ buf = malloc(size); assert(buf !=
+NULL);
+
+ for(i=0;i<loop;i++) {
+
+ switch(i%2) {
+ case 0:
+ io_prep_pwrite(&iocb, rwfd, buf, size, 0);
+ break;
+ case 1:
+ io_prep_pread(&iocb, rwfd, buf, size, 0);
+ }
+
+ res = io_submit(io_ctx, 1, iocbs);
+ if (res != 1) {
+ printf("submit: io_submit res=%d [%s]\n", res,
+strerror(-res));
+ return res;
+ }
+ }
+
+ res = ftruncate(rwfd, 0); assert(res == 0);
+
+ exit(0);
+
+}
+
+