Add driver data support
authorStefan Raspl <raspl@linux.vnet.ibm.com>
Thu, 16 Oct 2008 06:14:17 +0000 (08:14 +0200)
committerJens Axboe <jens.axboe@oracle.com>
Thu, 16 Oct 2008 06:14:17 +0000 (08:14 +0200)
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 <raspl@linux.vnet.ibm.com>
Signed-off-by: Martin Peschke <mpeschke@linux.vnet.ibm.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
act_mask.c
blkparse.c
blktrace_api.h

index 6632320a3ca4a2c6eb2a59bd6136b5cbaed0cb2e..1eb9c26f9be5849f235bbed8f9a0187e64d40f4c 100644 (file)
@@ -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)
index 3c31db63508224c12fe0112cf0e7f962afdec335..24e2d923d19fc8fcd7e85b41c468abe312c11fda 100644 (file)
@@ -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;
index 992850c06e76542980708040d83f7428bf7d7acb..faefb15eb1d4e4848f91182a7b87caf9fe577fc6 100644 (file)
@@ -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))