fsx: Add fallocate collapse range operation
[xfstests-dev.git] / ltp / iogen.c
index a2897feb989024f9b2e22f8e3e6971f1774ad51f..1eaab1f0cf8a26fa138d70c4e7f7e6d588798ebc 100644 (file)
@@ -132,7 +132,7 @@ int Fileio = 0;             /* flag indicating that a file              */
 int    Naio_Strat_Types = 0;   /* # async io completion types              */
 struct strmap *Aio_Strat_List[128]; /* Async io completion types           */
 
-void   startup_info();
+void   startup_info(FILE *stream, int seed);
 
 /*
  * Map async io completion modes (-a args) names to values.  Macros are
@@ -299,7 +299,7 @@ char        **argv;
 void
 startup_info(FILE *stream, int seed)
 {
-    char       *value_to_string(), *type;
+    char       *value_to_string(struct strmap *map, int val), *type;
     int                i;
 
     fprintf(stream, "\n");
@@ -781,6 +781,7 @@ struct file_info    *rec;
 
        rec->f_riou = BSIZE;
        if( (fd = open(rec->f_path, O_RDWR|O_DIRECT, 0)) != -1 ) {
+           char *dio_env;
 #ifdef XFS_IOC_DIOINFO
            if(xfsctl(rec->f_path, fd, XFS_IOC_DIOINFO, &finfo) != -1) {
 #else
@@ -790,6 +791,10 @@ struct file_info    *rec;
 bozo!
 #endif
 #endif
+               dio_env = getenv("XFS_DIO_MIN");
+               if (dio_env)
+                   finfo.d_mem = finfo.d_miniosz = atoi(dio_env);
+
                rec->f_riou = finfo.d_miniosz;
            } else {
                fprintf(stderr,
@@ -1001,6 +1006,7 @@ bozo!
        if(Owrite == 2) {
            close(fd);
            if( (fd = open(path, O_CREAT|O_RDWR|O_DIRECT, 0)) != -1 ) {
+               char *dio_env;
 #ifdef XFS_IOC_DIOINFO
                if(xfsctl(path, fd, XFS_IOC_DIOINFO, &finfo) == -1) {
 #else
@@ -1018,6 +1024,10 @@ bozo!
                    /*fprintf(stderr, "%s: miniosz=%d\n", 
                            path, finfo.d_miniosz);*/
                }
+
+               dio_env = getenv("XFS_DIO_MIN");
+               if (dio_env)
+                       finfo.d_mem = finfo.d_miniosz = atoi(dio_env);
            } else {
                fprintf(stderr, "iogen%s: Error %s (%d) opening file %s with flags O_CREAT|O_RDWR|O_DIRECT\n",
                        TagName, SYSERR, errno, path);