Recent changes (master)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The following changes since commit b220c6d6f37fc55760d66728f6f9f521ea2f9b46:

  Merge branch 'expression-parser' (2014-10-03 13:20:16 -0600)

are available in the git repository at:


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

for you to fetch changes up to 15e3ca5b72b03f485abdda06bee9a9458dbd26a5:

  t/dedupe: avoid div-by-zero for all identical chunks (2014-10-06 21:07:25 -0600)

----------------------------------------------------------------
Jens Axboe (3):
      init: set fail error return on bad parse
      t/dedupe: fix off-by 1.024 in bandwidth
      t/dedupe: avoid div-by-zero for all identical chunks

Stephen M. Cameron (2):
      fix problem with yy_size_t vs int param to lexer_input
      Fix bison parsing

 Makefile                |    6 ++++--
 configure               |    6 +++---
 exp/expression-parser.y |    4 +++-
 init.c                  |    1 +
 t/dedupe.c              |   10 +++++++---
 5 files changed, 18 insertions(+), 9 deletions(-)

---

Diff of recent changes:

diff --git a/Makefile b/Makefile
index d735ec7..5662015 100644
--- a/Makefile
+++ b/Makefile
@@ -268,7 +268,7 @@ override CFLAGS += -DFIO_VERSION='"$(FIO_VERSION)"'
 
 ifdef CONFIG_ARITHMETIC
 lex.yy.c: exp/expression-parser.l
-	$(QUIET_LEX)$(LEX) exp/expression-parser.l
+	$(QUIET_LEX)$(LEX) --header-file=lexer.h exp/expression-parser.l
 
 lex.yy.o: lex.yy.c y.tab.h
 	$(QUIET_CC)$(CC) -o $@ $(CFLAGS) $(CPPFLAGS) -c $<
@@ -277,10 +277,12 @@ y.tab.o: y.tab.c y.tab.h
 	$(QUIET_CC)$(CC) -o $@ $(CFLAGS) $(CPPFLAGS) -c $<
 
 y.tab.c: exp/expression-parser.y
-	$(QUIET_YACC)$(YACC) --no-lines -d exp/expression-parser.y
+	$(QUIET_YACC)$(YACC) --no-lines -d -b y exp/expression-parser.y
 
 y.tab.h: y.tab.c
 
+lexer.h: lex.yy.c
+
 exp/test-expression-parser.o: exp/test-expression-parser.c
 	$(QUIET_CC)$(CC) -o $@ $(CFLAGS) $(CPPFLAGS) -c $<
 exp/test-expression-parser: exp/test-expression-parser.o
diff --git a/configure b/configure
index f7d8ff9..e3ec252 100755
--- a/configure
+++ b/configure
@@ -1279,14 +1279,14 @@ LEX=$(which lex 2> /dev/null)
 if test -x "$LEX" ; then
   lex="yes"
 fi
-YACC=$(which yacc 2> /dev/null)
+YACC=$(which bison 2> /dev/null)
 if test -x "$YACC" ; then
   yacc="yes"
+  yacc_is_bison="yes"
 else
-  YACC=$(which bison 2> /dev/null)
+  YACC=$(which yacc 2> /dev/null)
   if test -x "$YACC" ; then
     yacc="yes"
-    yacc_is_bison="yes"
   fi
 fi
 if test "$yacc" = "yes" && test "$lex" = "yes" ; then
diff --git a/exp/expression-parser.y b/exp/expression-parser.y
index e4373d4..83b5b30 100644
--- a/exp/expression-parser.y
+++ b/exp/expression-parser.y
@@ -21,6 +21,8 @@
 #include <stdio.h>
 #include <string.h>
 #include <math.h>
+#include "lexer.h"
+
 struct parser_value_type {
 	double dval;
 	long long ival;
@@ -186,7 +188,7 @@ expression:	expression '+' expression {
 static int lexer_read_offset = 0;
 static char lexer_input_buffer[1000];
 
-int lexer_input(char* buffer, int *bytes_read, int bytes_requested)
+int lexer_input(char* buffer, yy_size_t *bytes_read, int bytes_requested)
 {
 	int bytes_left = strlen(lexer_input_buffer) - lexer_read_offset;
 
diff --git a/init.c b/init.c
index e208451..861b1f5 100644
--- a/init.c
+++ b/init.c
@@ -1482,6 +1482,7 @@ int __parse_jobs_ini(struct thread_data *td,
 
 				log_err("fio: option <%s> outside of "
 					"[] job section\n", p);
+				ret = 1;
 				break;
 			}
 
diff --git a/t/dedupe.c b/t/dedupe.c
index 69ebc8a..1577a69 100644
--- a/t/dedupe.c
+++ b/t/dedupe.c
@@ -361,7 +361,7 @@ static void show_progress(struct worker_thread *threads, unsigned long total)
 		this_items *= blocksize;
 		tdiff = mtime_since_now(&last_tv);
 		if (tdiff) {
-			this_items /= tdiff;
+			this_items = (this_items * 1000) / (tdiff * 1024);
 			printf("%3.2f%% done (%luKB/sec)\r", perc, this_items);
 			last_nitems = nitems;
 			fio_gettime(&last_tv, NULL);
@@ -478,8 +478,12 @@ static void show_stat(uint64_t nextents, uint64_t nchunks)
 	double perc, ratio;
 
 	printf("Extents=%lu, Unique extents=%lu\n", (unsigned long) nextents, (unsigned long) nchunks);
-	ratio = (double) nextents / (double) nchunks;
-	printf("De-dupe ratio: 1:%3.2f\n", ratio - 1.0);
+
+	if (nchunks) {
+		ratio = (double) nextents / (double) nchunks;
+		printf("De-dupe ratio: 1:%3.2f\n", ratio - 1.0);
+	} else
+		printf("De-dupe ratio: 1:infinite\n");
 
 	perc = 1.00 - ((double) nchunks / (double) nextents);
 	perc *= 100.0;
--
To unsubscribe from this list: send the line "unsubscribe fio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Linux SCSI]     [Linux IDE]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux