File tree Expand file tree Collapse file tree 1 file changed +18
-2
lines changed
libCacheSim/traceReader/customizedReader Expand file tree Collapse file tree 1 file changed +18
-2
lines changed Original file line number Diff line number Diff line change @@ -128,8 +128,15 @@ static inline int vscsi_read_ver1(reader_t *reader, request_t *req) {
128
128
// trace uses microsec change to sec
129
129
req -> clock_time = record -> ts / 1000000 ;
130
130
req -> obj_size = record -> len ;
131
- /* need to parse op */
132
-
131
+ uint16_t cmd = record -> cmd ;
132
+ if (cmd == 40 || cmd == 8 || cmd == 136 || cmd == 45 || cmd == 168 ) {
133
+ req -> op = OP_READ ;
134
+ } else if (cmd == 42 || cmd == 63 || cmd == 138 || cmd == 142 ||
135
+ cmd == 154 || cmd == 156 || cmd == 170 || cmd == 174 ) {
136
+ req -> op = OP_WRITE ;
137
+ } else {
138
+ req -> op = OP_INVALID ;
139
+ }
133
140
req -> obj_id = record -> lbn ;
134
141
(reader -> mmap_offset ) += reader -> item_size ;
135
142
return 0 ;
@@ -140,6 +147,15 @@ static inline int vscsi_read_ver2(reader_t *reader, request_t *req) {
140
147
(trace_v2_record_t * )(reader -> mapped_file + reader -> mmap_offset );
141
148
req -> clock_time = record -> ts / 1000000 ;
142
149
req -> obj_size = record -> len ;
150
+ uint16_t cmd = record -> cmd ;
151
+ if (cmd == 40 || cmd == 8 || cmd == 136 || cmd == 45 || cmd == 168 ) {
152
+ req -> op = OP_READ ;
153
+ } else if (cmd == 42 || cmd == 63 || cmd == 138 || cmd == 142 ||
154
+ cmd == 154 || cmd == 156 || cmd == 170 || cmd == 174 ) {
155
+ req -> op = OP_WRITE ;
156
+ } else {
157
+ req -> op = OP_INVALID ;
158
+ }
143
159
req -> obj_id = record -> lbn ;
144
160
(reader -> mmap_offset ) += reader -> item_size ;
145
161
return 0 ;
You can’t perform that action at this time.
0 commit comments