[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251015105658.527262-20-johannes.thumshirn@wdc.com>
Date: Wed, 15 Oct 2025 12:56:57 +0200
From: Johannes Thumshirn <johannes.thumshirn@....com>
To: axboe@...nel.dk
Cc: chaitanyak@...dia.com,
dlemoal@...nel.org,
hare@...e.de,
hch@....de,
john.g.garry@...cle.com,
linux-block@...r.kernel.org,
linux-btrace@...r.kernel.org,
linux-kernel@...r.kernel.org,
linux-trace-kernel@...r.kernel.org,
martin.petersen@...cle.com,
mathieu.desnoyers@...icios.com,
mhiramat@...nel.org,
naohiro.aota@....com,
rostedt@...dmis.org,
shinichiro.kawasaki@....com,
Johannes Thumshirn <johannes.thumshirn@....com>
Subject: [PATCH blktrace v3 19/20] blkparse: add zoned commands to fill_rwbs()
Parse zoned commands in blkparse.
Signed-off-by: Johannes Thumshirn <johannes.thumshirn@....com>
---
blkparse_fmt.c | 34 ++++++++++++++++++++++++++++++----
1 file changed, 30 insertions(+), 4 deletions(-)
diff --git a/blkparse_fmt.c b/blkparse_fmt.c
index 80e02fc..06b055b 100644
--- a/blkparse_fmt.c
+++ b/blkparse_fmt.c
@@ -60,19 +60,45 @@ static inline void fill_rwbs(char *rwbs, struct blk_io_trace2 *t)
bool d = !!(t->action & BLK_TC_ACT(BLK_TC_DISCARD));
bool f = !!(t->action & BLK_TC_ACT(BLK_TC_FLUSH));
bool u = !!(t->action & BLK_TC_ACT(BLK_TC_FUA));
+ bool za = !!(t->action & BLK_TC_ACT(BLK_TC_ZONE_APPEND));
+ bool zr = !!(t->action & BLK_TC_ACT(BLK_TC_ZONE_RESET));
+ bool zra = !!(t->action & BLK_TC_ACT(BLK_TC_ZONE_RESET_ALL));
+ bool zf = !!(t->action & BLK_TC_ACT(BLK_TC_ZONE_FINISH));
+ bool zo = !!(t->action & BLK_TC_ACT(BLK_TC_ZONE_OPEN));
+ bool zc = !!(t->action & BLK_TC_ACT(BLK_TC_ZONE_CLOSE));
int i = 0;
if (f)
rwbs[i++] = 'F'; /* flush */
- if (d)
+ if (d) {
rwbs[i++] = 'D';
- else if (w)
+ } else if (za) {
+ rwbs[i++] = 'Z';
+ rwbs[i++] = 'A';
+ } else if (zr) {
+ rwbs[i++] = 'Z';
+ rwbs[i++] = 'R';
+ } else if (zra) {
+ rwbs[i++] = 'Z';
+ rwbs[i++] = 'R';
+ rwbs[i++] = 'A';
+ } else if (zf) {
+ rwbs[i++] = 'Z';
+ rwbs[i++] = 'F';
+ } else if (zo) {
+ rwbs[i++] = 'Z';
+ rwbs[i++] = 'O';
+ } else if (zc) {
+ rwbs[i++] = 'Z';
+ rwbs[i++] = 'C';
+ } else if (w) {
rwbs[i++] = 'W';
- else if (t->bytes)
+ } else if (t->bytes) {
rwbs[i++] = 'R';
- else
+ } else {
rwbs[i++] = 'N';
+ }
if (u)
rwbs[i++] = 'F'; /* fua */
--
2.51.0
Powered by blists - more mailing lists