Flexible I/O Tester development
 help / color / mirror / Atom feed
* io_u_log_error ddir name mismatch
@ 2014-09-16 22:24 Elliott, Robert (Server Storage)
  2014-09-17  2:09 ` Jens Axboe
  0 siblings, 1 reply; 2+ messages in thread
From: Elliott, Robert (Server Storage) @ 2014-09-16 22:24 UTC (permalink / raw)
  To: Jens Axboe <axboe@kernel.dk> (axboe@kernel.dk),
	fio@vger.kernel.org

The names in io_u_log_error:
       const char *msg[] = { "read", "write", "sync", "datasync",
                               "sync_file_range", "wait", "trim" };

which are printed with
	log_err (msg[io_u->ddir]);

don't match the enum values for io_u->ddir:

enum fio_ddir {
        DDIR_READ = 0,
        DDIR_WRITE = 1,
        DDIR_TRIM = 2,
        DDIR_RWDIR_CNT = 3,
        DDIR_SYNC = 3,
        DDIR_DATASYNC,
        DDIR_SYNC_FILE_RANGE,
        DDIR_WAIT,
        DDIR_INVAL = -1,
};

struct io_u {
        enum fio_ddir ddir;
...

Maybe TRIM was moved earlier at some point?

My test cases just generate reads and writes, so I don't have a 
test case to validate a patch.

---
Rob Elliott    HP Server Storage




^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: io_u_log_error ddir name mismatch
  2014-09-16 22:24 io_u_log_error ddir name mismatch Elliott, Robert (Server Storage)
@ 2014-09-17  2:09 ` Jens Axboe
  0 siblings, 0 replies; 2+ messages in thread
From: Jens Axboe @ 2014-09-17  2:09 UTC (permalink / raw)
  To: Elliott, Robert (Server Storage), fio@vger.kernel.org

On 2014-09-16 16:24, Elliott, Robert (Server Storage) wrote:
> The names in io_u_log_error:
>         const char *msg[] = { "read", "write", "sync", "datasync",
>                                 "sync_file_range", "wait", "trim" };
>
> which are printed with
> 	log_err (msg[io_u->ddir]);
>
> don't match the enum values for io_u->ddir:
>
> enum fio_ddir {
>          DDIR_READ = 0,
>          DDIR_WRITE = 1,
>          DDIR_TRIM = 2,
>          DDIR_RWDIR_CNT = 3,
>          DDIR_SYNC = 3,
>          DDIR_DATASYNC,
>          DDIR_SYNC_FILE_RANGE,
>          DDIR_WAIT,
>          DDIR_INVAL = -1,
> };
>
> struct io_u {
>          enum fio_ddir ddir;
> ...
>
> Maybe TRIM was moved earlier at some point?

TRIM was turned into a first class citizen at one point, I suspect that 
is when it broke. It's broken in both io_u.c and iolog.c. I fixed it by 
killing them both, and adding a function for this right in io_ddir.h 
where the data directions are defined.

Thanks Robert!

-- 
Jens Axboe



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-09-17  2:09 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-09-16 22:24 io_u_log_error ddir name mismatch Elliott, Robert (Server Storage)
2014-09-17  2:09 ` Jens Axboe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox