Commit bc43a290 authored by Ryan Leary's avatar Ryan Leary

Fixes bio{snoop,top} on 4.10.

This commit fixes #888.  The 2 scripts run the same check, and now run
basically the same code to do it.

Tested on 4.10-rc2.
parent 9a174abe
...@@ -106,14 +106,12 @@ int trace_req_completion(struct pt_regs *ctx, struct request *req) ...@@ -106,14 +106,12 @@ int trace_req_completion(struct pt_regs *ctx, struct request *req)
* test, and maintenance burden. * test, and maintenance burden.
*/ */
#ifdef REQ_WRITE #ifdef REQ_WRITE
if (req->cmd_flags & REQ_WRITE) { data.rwflag = !!(req->cmd_flags & REQ_WRITE);
#elif defined(REQ_OP_SHIFT)
data.rwflag = !!((req->cmd_flags >> REQ_OP_SHIFT) == REQ_OP_WRITE);
#else #else
if ((req->cmd_flags >> REQ_OP_SHIFT) == REQ_OP_WRITE) { data.rwflag = !!((req->cmd_flags & REQ_OP_MASK) == REQ_OP_WRITE);
#endif #endif
data.rwflag = 1;
} else {
data.rwflag = 0;
}
events.perf_submit(ctx, &data, sizeof(data)); events.perf_submit(ctx, &data, sizeof(data));
start.delete(&req); start.delete(&req);
......
...@@ -137,8 +137,10 @@ int trace_req_completion(struct pt_regs *ctx, struct request *req) ...@@ -137,8 +137,10 @@ int trace_req_completion(struct pt_regs *ctx, struct request *req)
*/ */
#ifdef REQ_WRITE #ifdef REQ_WRITE
info.rwflag = !!(req->cmd_flags & REQ_WRITE); info.rwflag = !!(req->cmd_flags & REQ_WRITE);
#else #elif defined(REQ_OP_SHIFT)
info.rwflag = !!((req->cmd_flags >> REQ_OP_SHIFT) == REQ_OP_WRITE); info.rwflag = !!((req->cmd_flags >> REQ_OP_SHIFT) == REQ_OP_WRITE);
#else
info.rwflag = !!((req->cmd_flags & REQ_OP_MASK) == REQ_OP_WRITE);
#endif #endif
whop = whobyreq.lookup(&req); whop = whobyreq.lookup(&req);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment