diff --git a/tools/biosnoop.py b/tools/biosnoop.py index bed6ded428bc..aa8a077b702d 100755 --- a/tools/biosnoop.py +++ b/tools/biosnoop.py @@ -106,14 +106,12 @@ * test, and maintenance burden. */ #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 -if ((req->cmd_flags >> REQ_OP_SHIFT) == REQ_OP_WRITE) { + data.rwflag = !!((req->cmd_flags & REQ_OP_MASK) == REQ_OP_WRITE); #endif - data.rwflag = 1; - } else { - data.rwflag = 0; - } events.perf_submit(ctx, &data, sizeof(data)); start.delete(&req); diff --git a/tools/biotop.py b/tools/biotop.py index a97a2d195278..f827e6213232 100755 --- a/tools/biotop.py +++ b/tools/biotop.py @@ -137,8 +137,10 @@ def signal_ignore(signal, frame): */ #ifdef 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); +#else + info.rwflag = !!((req->cmd_flags & REQ_OP_MASK) == REQ_OP_WRITE); #endif whop = whobyreq.lookup(&req);