From c54b9dd9a993fc76f3649279e6a4295f6aba2054 Mon Sep 17 00:00:00 2001 From: Stefan Raspl Date: Thu, 16 Oct 2008 08:14:17 +0200 Subject: [PATCH] Add driver data support Adds a new type of action 'drv_data' for blktrace to handle binary driver-specific data. Since the data is binary, blkparse will only put it in a binary file, not in the regular human-readable output. Signed-off-by: Stefan Raspl Signed-off-by: Martin Peschke Signed-off-by: Jens Axboe --- act_mask.c | 1 + blkparse.c | 3 +++ blktrace_api.h | 3 +++ 3 files changed, 7 insertions(+) diff --git a/act_mask.c b/act_mask.c index 6632320..1eb9c26 100644 --- a/act_mask.c +++ b/act_mask.c @@ -26,6 +26,7 @@ static struct mask_map mask_maps[] = { DECLARE_MASK_MAP(AHEAD), DECLARE_MASK_MAP(META), DECLARE_MASK_MAP(DISCARD), + DECLARE_MASK_MAP(DRV_DATA), }; int find_mask_map(char *string) diff --git a/blkparse.c b/blkparse.c index 3c31db6..24e2d92 100644 --- a/blkparse.c +++ b/blkparse.c @@ -1583,6 +1583,9 @@ static void dump_trace_fs(struct blk_io_trace *t, struct per_dev_info *pdi, case __BLK_TA_REMAP: log_generic(pci, t, "A"); break; + case __BLK_TA_DRV_DATA: + /* dump to binary file only */ + break; default: fprintf(stderr, "Bad fs action %x\n", t->action); break; diff --git a/blktrace_api.h b/blktrace_api.h index 992850c..faefb15 100644 --- a/blktrace_api.h +++ b/blktrace_api.h @@ -21,6 +21,7 @@ enum { BLK_TC_AHEAD = 1 << 11, /* readahead */ BLK_TC_META = 1 << 12, /* metadata */ BLK_TC_DISCARD = 1 << 13, /* discard requests */ + BLK_TC_DRV_DATA = 1 << 14, /* binary driver data */ BLK_TC_END = 1 << 15, /* only 16-bits, reminder */ }; @@ -47,6 +48,7 @@ enum { __BLK_TA_SPLIT, /* bio was split */ __BLK_TA_BOUNCE, /* bio was bounced */ __BLK_TA_REMAP, /* bio was remapped */ + __BLK_TA_DRV_DATA, /* binary driver data */ }; /* @@ -76,6 +78,7 @@ enum blktrace_notify { #define BLK_TA_SPLIT (__BLK_TA_SPLIT) #define BLK_TA_BOUNCE (__BLK_TA_BOUNCE) #define BLK_TA_REMAP (__BLK_TA_REMAP | BLK_TC_ACT(BLK_TC_QUEUE)) +#define BLK_TA_DRV_DATA (__BLK_TA_DRV_DATA | BLK_TC_ACT(BLK_TC_DRV_DATA)) #define BLK_TN_PROCESS (__BLK_TN_PROCESS | BLK_TC_ACT(BLK_TC_NOTIFY)) #define BLK_TN_TIMESTAMP (__BLK_TN_TIMESTAMP | BLK_TC_ACT(BLK_TC_NOTIFY)) -- 2.25.1