Turn file ->open and ->unlink into flags

We'll need more flags in the next commits, so do this as a
preparatory patch.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
diff --git a/filesetup.c b/filesetup.c
index 948cecd..f6e9974 100644
--- a/filesetup.c
+++ b/filesetup.c
@@ -148,9 +148,11 @@
 		/*
 		 * Only unlink files that we created.
 		 */
-		f->unlink = 0;
+		f->flags &= ~FIO_FILE_UNLINK;
 		if (file_ok(td, f)) {
-			f->unlink = td->unlink;
+			if (td->unlink)
+				f->flags |= FIO_FILE_UNLINK;
+
 			err = create_file(td, f);
 			if (err)
 				break;
@@ -394,7 +396,7 @@
 	unsigned int i;
 
 	for_each_file(td, f, i) {
-		if (!td->filename && f->unlink &&
+		if (!td->filename && (f->flags & FIO_FILE_UNLINK) &&
 		    f->filetype == FIO_TYPE_FILE) {
 			unlink(f->file_name);
 			f->file_name = NULL;
diff --git a/fio.h b/fio.h
index 3b902a8..e451f95 100644
--- a/fio.h
+++ b/fio.h
@@ -218,6 +218,11 @@
 	FIO_NODISKUTIL  = 1 << 4,       /* diskutil can't handle filename */
 };
 
+enum fio_file_flags {
+	FIO_FILE_OPEN		= 1 << 0,
+	FIO_FILE_UNLINK		= 1 << 1,
+};
+
 /*
  * Each thread_data structure has a number of files associated with it,
  * this structure holds state information for a single file.
@@ -247,8 +252,7 @@
 	unsigned int num_maps;
 	unsigned int last_free_lookup;
 
-	unsigned int unlink;
-	unsigned int open;
+	enum fio_file_flags flags;
 };
 
 /*
diff --git a/io_u.c b/io_u.c
index 69f2f19..c16128e 100644
--- a/io_u.c
+++ b/io_u.c
@@ -340,7 +340,7 @@
 
 		fileno = (unsigned int) ((double) (td->open_files * r) / (RAND_MAX + 1.0));
 		f = &td->files[fileno];
-		if (f->open)
+		if (f->flags & FIO_FILE_OPEN)
 			return f;
 	} while (1);
 }
@@ -360,7 +360,7 @@
 		if (td->next_file >= td->open_files)
 			td->next_file = 0;
 
-		if (f->open)
+		if (f->flags & FIO_FILE_OPEN)
 			break;
 
 		f = NULL;
@@ -377,7 +377,7 @@
 		return NULL;
 
 	f = td->file_service_file;
-	if (f && f->open && td->file_service_left--)
+	if (f && (f->flags & FIO_FILE_OPEN) && td->file_service_left--)
 		return f;
 
 	if (td->file_service_type == FIO_FSERVICE_RR)
diff --git a/ioengines.c b/ioengines.c
index 88e91cc..02455b8 100644
--- a/ioengines.c
+++ b/ioengines.c
@@ -259,7 +259,7 @@
 	f->last_free_lookup = 0;
 	f->last_completed_pos = 0;
 	f->last_pos = 0;
-	f->open = 1;
+	f->flags |= FIO_FILE_OPEN;
 
 	if (f->file_map)
 		memset(f->file_map, 0, f->num_maps * sizeof(long));
@@ -270,10 +270,10 @@
 
 void td_io_close_file(struct thread_data *td, struct fio_file *f)
 {
-	if (f->open) {
+	if (f->flags & FIO_FILE_OPEN) {
 		if (td->io_ops->close_file)
 			td->io_ops->close_file(td, f);
 		td->nr_open_files--;
-		f->open = 0;
+		f->flags &= ~FIO_FILE_OPEN;
 	}
 }