Fix issue with fill_device=1 and continue_on_error

I added a change so when both the continue_on_error and fill_device
option is on, when it hits ENOSPC issue the code ignores the error.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
diff --git a/fio.c b/fio.c
index 63d9a1b..f6ed89f 100644
--- a/fio.c
+++ b/fio.c
@@ -388,21 +388,29 @@
 		else
 			err = td->error;
 
-		update_error_count(td, err);
-
 		if (td_non_fatal_error(err)) {
 		        /*
 		         * Continue with the I/Os in case of
 			 * a non fatal error.
 			 */
+			update_error_count(td, err);
 			td_clear_error(td);
 			*retptr = 0;
 			return 0;
+		} else if (td->o.fill_device && err == ENOSPC) {
+			/*
+			 * We expect to hit this error if
+			 * fill_device option is set.
+			 */
+			td_clear_error(td);
+			td->terminate = 1;
+			return 1;
 		} else {
 			/*
 			 * Stop the I/O in case of a fatal
 			 * error.
 			 */
+			update_error_count(td, err);
 			return 1;
 		}
 	}