Index: examples/io_uring.c
===================================================================
--- examples/io_uring.c	(revision 5b15c4f539c20ce0c574c879bdfcfb6389619780)
+++ examples/io_uring.c	(revision a86b1b859e6d2a74b207e4278d574af6c3794926)
@@ -1,5 +1,8 @@
+#define _GNU_SOURCE
+
 #include <fcntl.h>
 #include <liburing.h>
 #include <stdio.h>
+#include <string.h>
 #include <unistd.h>
 
@@ -12,5 +15,5 @@
       }
 
-      int fd = open(argv[1], 0);
+      int fd = open(argv[1], O_DIRECT);
       if(fd < 0) {
             printf("Could not open file %s.\n", argv[1]);
@@ -23,5 +26,5 @@
 
       /* init liburing */
-      io_uring_queue_init(256, &ring, 0);
+      io_uring_queue_init(256, &ring, IORING_SETUP_IOPOLL);
 
       /* declare required structs */
@@ -40,5 +43,5 @@
       /* wait for the sqe to complete */
       int ret = io_uring_wait_cqe(&ring, &cqe);
-      
+
       /* read and process cqe event */
       if(ret == 0) {
@@ -49,4 +52,7 @@
             if(len > 0) {
                   printf("%.*s", len, out);
+            }
+            else if( len < 0 ) {
+                  fprintf(stderr, "readv returned error : %s\n", strerror(-len));
             }
       }
