File tree Expand file tree Collapse file tree
libCacheSim/traceReader/customizedReader Expand file tree Collapse file tree 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) {
128128 // trace uses microsec change to sec
129129 req -> clock_time = record -> ts / 1000000 ;
130130 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+ }
133140 req -> obj_id = record -> lbn ;
134141 (reader -> mmap_offset ) += reader -> item_size ;
135142 return 0 ;
@@ -140,6 +147,15 @@ static inline int vscsi_read_ver2(reader_t *reader, request_t *req) {
140147 (trace_v2_record_t * )(reader -> mapped_file + reader -> mmap_offset );
141148 req -> clock_time = record -> ts / 1000000 ;
142149 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+ }
143159 req -> obj_id = record -> lbn ;
144160 (reader -> mmap_offset ) += reader -> item_size ;
145161 return 0 ;
You can’t perform that action at this time.
0 commit comments