projects
/
fio.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
ef32da6
)
Fix assert error on blktrace replay containing trims
author
krisd
<Kris.Davis@wdc.com>
Fri, 3 May 2019 13:33:50 +0000
(08:33 -0500)
committer
krisd
<Kris.Davis@wdc.com>
Thu, 30 May 2019 15:00:49 +0000
(10:00 -0500)
blktrace.c
patch
|
blob
|
blame
|
history
diff --git
a/blktrace.c
b/blktrace.c
index efe9ce248a8c7f861a6aa5dbec9163f6d51ca90d..8a246613d43338d2f715dca0031dafbf164bcbef 100644
(file)
--- a/
blktrace.c
+++ b/
blktrace.c
@@
-544,16
+544,19
@@
bool load_blktrace(struct thread_data *td, const char *filename, int need_swap)
!ios[DDIR_SYNC]) {
log_err("fio: found no ios in blktrace data\n");
return false;
!ios[DDIR_SYNC]) {
log_err("fio: found no ios in blktrace data\n");
return false;
- } else if (ios[DDIR_READ] && !ios[DDIR_WRITE]) {
- td->o.td_ddir = TD_DDIR_READ;
- td->o.max_bs[DDIR_READ] = rw_bs[DDIR_READ];
- } else if (!ios[DDIR_READ] && ios[DDIR_WRITE]) {
- td->o.td_ddir = TD_DDIR_WRITE;
- td->o.max_bs[DDIR_WRITE] = rw_bs[DDIR_WRITE];
- } else {
- td->o.td_ddir = TD_DDIR_RW;
+ }
+
+ td->o.td_ddir = 0;
+ if (ios[DDIR_READ]) {
+ td->o.td_ddir |= TD_DDIR_READ;
td->o.max_bs[DDIR_READ] = rw_bs[DDIR_READ];
td->o.max_bs[DDIR_READ] = rw_bs[DDIR_READ];
+ }
+ if (ios[DDIR_WRITE]) {
+ td->o.td_ddir |= TD_DDIR_WRITE;
td->o.max_bs[DDIR_WRITE] = rw_bs[DDIR_WRITE];
td->o.max_bs[DDIR_WRITE] = rw_bs[DDIR_WRITE];
+ }
+ if (ios[DDIR_TRIM]) {
+ td->o.td_ddir |= TD_DDIR_TRIM;
td->o.max_bs[DDIR_TRIM] = rw_bs[DDIR_TRIM];
}
td->o.max_bs[DDIR_TRIM] = rw_bs[DDIR_TRIM];
}