The following changes since commit e5c9093db2c18166bd572f2ab40d5eba16a25b07:

  server/client: don't use __ conversion functions if not needed (2014-10-13 
16:05:10 -0600)

are available in the git repository at:

  git://git.kernel.dk/fio.git master

for you to fetch changes up to de06a46881e1a8876b5fd1de5e002d6189a90a30:

  Get rid if --header-file argument for lex (2014-10-14 21:12:22 -0600)

----------------------------------------------------------------
Jens Axboe (7):
      engines/libaio: fix wrong setting of wait_start
      crc/test: fix potential div by zero
      sha256: cast shift to uint64_t
      t/dedupe: fix bogus items NULL compare
      t/btrace2fio: fix fd leak on error
      client: fix potential NULL dereference
      Get rid if --header-file argument for lex

 .gitignore              |    1 -
 Makefile                |    2 +-
 client.c                |    3 +++
 crc/sha256.c            |    2 +-
 crc/test.c              |   17 ++++++++++-------
 engines/libaio.c        |    2 +-
 exp/expression-parser.l |    4 ++--
 exp/expression-parser.y |    3 +--
 t/btrace2fio.c          |    2 ++
 t/dedupe.c              |    3 +--
 10 files changed, 22 insertions(+), 17 deletions(-)

---

Diff of recent changes:

diff --git a/.gitignore b/.gitignore
index f13ec27..c9d90fb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,4 +9,3 @@
 /fio
 y.tab.*
 lex.yy.c
-lexer.h
diff --git a/Makefile b/Makefile
index 750eccd..0f77df9 100644
--- a/Makefile
+++ b/Makefile
@@ -267,7 +267,7 @@ override CFLAGS += -DFIO_VERSION='"$(FIO_VERSION)"'
 
 ifdef CONFIG_ARITHMETIC
 lex.yy.c: exp/expression-parser.l
-       $(QUIET_LEX)$(LEX) --header-file=lexer.h exp/expression-parser.l
+       $(QUIET_LEX)$(LEX) exp/expression-parser.l
 
 lex.yy.o: lex.yy.c y.tab.h
        $(QUIET_CC)$(CC) -o $@ $(CFLAGS) $(CPPFLAGS) -c $<
diff --git a/client.c b/client.c
index 6b9fdd8..edc02a0 100644
--- a/client.c
+++ b/client.c
@@ -271,6 +271,9 @@ int fio_client_add_ini_file(void *cookie, const char 
*ini_file, int remote)
        size_t new_size;
        void *new_files;
 
+       if (!client)
+               return 1;
+
        dprint(FD_NET, "client <%s>: add ini %s\n", client->hostname, ini_file);
 
        new_size = (client->nr_files + 1) * sizeof(struct client_file);
diff --git a/crc/sha256.c b/crc/sha256.c
index ae9ff4d..2fd17a3 100644
--- a/crc/sha256.c
+++ b/crc/sha256.c
@@ -277,7 +277,7 @@ void fio_sha256_final(struct fio_sha256_ctx *sctx)
        static const uint8_t padding[64] = { 0x80, };
 
        /* Save number of bits */
-       bits = sctx->count << 3;
+       bits = (uint64_t) sctx->count << 3;
 
        /* Pad out to 56 mod 64. */
        index = sctx->count & 0x3f;
diff --git a/crc/test.c b/crc/test.c
index bca46f2..bc5cc45 100644
--- a/crc/test.c
+++ b/crc/test.c
@@ -329,13 +329,16 @@ int fio_crctest(const char *type)
                t[i].fn(&t[i], buf, CHUNK);
                usec = utime_since_now(&tv);
 
-               mb_sec = (double) mb / (double) usec;
-               mb_sec /= (1.024 * 1.024);
-               if (strlen(t[i].name) >= 7)
-                       sprintf(pre, "\t");
-               else
-                       sprintf(pre, "\t\t");
-               printf("%s:%s%8.2f MB/sec\n", t[i].name, pre, mb_sec);
+               if (usec) {
+                       mb_sec = (double) mb / (double) usec;
+                       mb_sec /= (1.024 * 1.024);
+                       if (strlen(t[i].name) >= 7)
+                               sprintf(pre, "\t");
+                       else
+                               sprintf(pre, "\t\t");
+                       printf("%s:%s%8.2f MB/sec\n", t[i].name, pre, mb_sec);
+               } else
+                       printf("%s:inf MB/sec\n", t[i].name);
                first = 0;
        }
 
diff --git a/engines/libaio.c b/engines/libaio.c
index 12f3b36..f7e2f89 100644
--- a/engines/libaio.c
+++ b/engines/libaio.c
@@ -281,7 +281,7 @@ static int fio_libaio_commit(struct thread_data *td)
                        }
                        if (!wait_start) {
                                fio_gettime(&tv, NULL);
-                               wait_start = 0;
+                               wait_start = 1;
                        } else if (mtime_since_now(&tv) > 30000) {
                                log_err("fio: aio appears to be stalled, giving 
up\n");
                                break;
diff --git a/exp/expression-parser.l b/exp/expression-parser.l
index 16e3873..856596a 100644
--- a/exp/expression-parser.l
+++ b/exp/expression-parser.l
@@ -24,13 +24,13 @@
 
 #define YYSTYPE PARSER_VALUE_TYPE
 
-extern int lexer_input(char *buffer, size_t *nbytes, int buffersize);
+extern int lexer_input(char *buffer, unsigned int *nbytes, int buffersize);
 
 #undef YY_INPUT
 #define YY_INPUT(buffer, bytes_read, bytes_requested)                  \
 ({                                                                     \
        int __ret;                                                      \
-       size_t __bread = bytes_read;                                    \
+       unsigned int __bread = bytes_read;                              \
        __ret = lexer_input((buffer), &__bread, (bytes_requested));     \
        bytes_read = __bread;                                           \
        __ret;                                                          \
diff --git a/exp/expression-parser.y b/exp/expression-parser.y
index 83b5b30..8ae0c01 100644
--- a/exp/expression-parser.y
+++ b/exp/expression-parser.y
@@ -21,7 +21,6 @@
 #include <stdio.h>
 #include <string.h>
 #include <math.h>
-#include "lexer.h"
 
 struct parser_value_type {
        double dval;
@@ -188,7 +187,7 @@ expression: expression '+' expression {
 static int lexer_read_offset = 0;
 static char lexer_input_buffer[1000];
 
-int lexer_input(char* buffer, yy_size_t *bytes_read, int bytes_requested)
+int lexer_input(char* buffer, unsigned int *bytes_read, int bytes_requested)
 {
        int bytes_left = strlen(lexer_input_buffer) - lexer_read_offset;
 
diff --git a/t/btrace2fio.c b/t/btrace2fio.c
index 5666a56..baf29ac 100644
--- a/t/btrace2fio.c
+++ b/t/btrace2fio.c
@@ -870,9 +870,11 @@ static int trace_needs_swap(const char *trace_file, int 
*swap)
 
        ret = read(fd, &t, sizeof(t));
        if (ret < 0) {
+               close(fd);
                perror("read");
                return 1;
        } else if (ret != sizeof(t)) {
+               close(fd);
                log_err("fio: short read on trace file\n");
                return 1;
        }
diff --git a/t/dedupe.c b/t/dedupe.c
index 030b4fc..b43b677 100644
--- a/t/dedupe.c
+++ b/t/dedupe.c
@@ -294,8 +294,7 @@ static int do_work(struct worker_thread *thread, void *buf)
        for (i = 0; i < nblocks; i++) {
                void *thisptr = buf + (i * blocksize);
 
-               if (items)
-                       items[i].offset = offset;
+               items[i].offset = offset;
                crc_buf(thisptr, items[i].hash);
                offset += blocksize;
                nitems++;
--
To unsubscribe from this list: send the line "unsubscribe fio" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to