Fix stat(2) related bugs introduced by changes made for Windows
[fio.git] / filesetup.c
index f721c36abbb045ca7b4e4a618c64b0199d5148e3..a48faf588140ca79f7f00a8a95f63266a63f7a39 100644 (file)
@@ -329,7 +329,7 @@ static int char_size(struct thread_data *td, struct fio_file *f)
        int r;
 
        if (td->io_ops->open_file(td, f)) {
-               log_err("fio: failed opening blockdev %s for size check\n",
+               log_err("fio: failed opening chardev %s for size check\n",
                        f->file_name);
                return 1;
        }
@@ -1225,10 +1225,12 @@ static void get_file_type(struct fio_file *f)
        else
                f->filetype = FIO_TYPE_FILE;
 
+#ifdef WIN32
        /* \\.\ is the device namespace in Windows, where every file is
         * a block device */
        if (strncmp(f->file_name, "\\\\.\\", 4) == 0)
                f->filetype = FIO_TYPE_BD;
+#endif
 
        if (!stat(f->file_name, &sb)) {
                if (S_ISBLK(sb.st_mode))
@@ -1335,7 +1337,8 @@ int add_file(struct thread_data *td, const char *fname, int numjob, int inc)
        dprint(FD_FILE, "add file %s\n", fname);
 
        if (td->o.directory)
-               len = set_name_idx(file_name, PATH_MAX, td->o.directory, numjob);
+               len = set_name_idx(file_name, PATH_MAX, td->o.directory, numjob,
+                                       td->o.unique_filename);
 
        sprintf(file_name + len, "%s", fname);