bcache: bcache_write tracepoint was crashing
authorSlava Pestov <sp@daterainc.com>
Thu, 22 May 2014 19:14:24 +0000 (12:14 -0700)
committerKent Overstreet <kmo@daterainc.com>
Mon, 4 Aug 2014 22:23:03 +0000 (15:23 -0700)
Signed-off-by: Kent Overstreet <kmo@daterainc.com>
drivers/md/bcache/request.c
include/trace/events/bcache.h

index 15fff4f68a7ce75f441a1e429d961eac2d2b0d6e..62e6e98186b5cd536d75a9bec14a2c374102abbe 100644 (file)
@@ -311,7 +311,8 @@ void bch_data_insert(struct closure *cl)
 {
        struct data_insert_op *op = container_of(cl, struct data_insert_op, cl);
 
-       trace_bcache_write(op->bio, op->writeback, op->bypass);
+       trace_bcache_write(op->c, op->inode, op->bio,
+                          op->writeback, op->bypass);
 
        bch_keylist_init(&op->insert_keys);
        bio_get(op->bio);
index c9c3c044b32f060b749c63381b956fceabc64f89..6778e4135a8e4ea5d5f3923164c98c36e1483641 100644 (file)
@@ -148,11 +148,13 @@ TRACE_EVENT(bcache_read,
 );
 
 TRACE_EVENT(bcache_write,
-       TP_PROTO(struct bio *bio, bool writeback, bool bypass),
-       TP_ARGS(bio, writeback, bypass),
+       TP_PROTO(struct cache_set *c, u64 inode, struct bio *bio,
+               bool writeback, bool bypass),
+       TP_ARGS(c, inode, bio, writeback, bypass),
 
        TP_STRUCT__entry(
-               __field(dev_t,          dev                     )
+               __array(char,           uuid,   16              )
+               __field(u64,            inode                   )
                __field(sector_t,       sector                  )
                __field(unsigned int,   nr_sector               )
                __array(char,           rwbs,   6               )
@@ -161,7 +163,8 @@ TRACE_EVENT(bcache_write,
        ),
 
        TP_fast_assign(
-               __entry->dev            = bio->bi_bdev->bd_dev;
+               memcpy(__entry->uuid, c->sb.set_uuid, 16);
+               __entry->inode          = inode;
                __entry->sector         = bio->bi_iter.bi_sector;
                __entry->nr_sector      = bio->bi_iter.bi_size >> 9;
                blk_fill_rwbs(__entry->rwbs, bio->bi_rw, bio->bi_iter.bi_size);
@@ -169,8 +172,8 @@ TRACE_EVENT(bcache_write,
                __entry->bypass = bypass;
        ),
 
-       TP_printk("%d,%d  %s %llu + %u hit %u bypass %u",
-                 MAJOR(__entry->dev), MINOR(__entry->dev),
+       TP_printk("%pU inode %llu  %s %llu + %u hit %u bypass %u",
+                 __entry->uuid, __entry->inode,
                  __entry->rwbs, (unsigned long long)__entry->sector,
                  __entry->nr_sector, __entry->writeback, __entry->bypass)
 );
This page took 0.026562 seconds and 5 git commands to generate.