aboutsummaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
authorMinchan Kim <minchan.kim@gmail.com>2009-09-08 15:56:38 -0400
committerJens Axboe <jens.axboe@oracle.com>2009-09-11 08:34:34 -0400
commit01edede41e352e4879a89cdc5468f72ffc89b713 (patch)
tree5467323ee7ed8ff6178fcdae44e9f3ddab078308 /block
parent01e97f6b897bf06ec83375d691f2f4d57f5b3a09 (diff)
block: trace bio queueing trial only when it occurs
If BIO is discarded or cross over end of device, BIO queueing trial doesn't occur. Actually the trace was called just before make_request at first: [PATCH] Block queue IO tracing support (blktrace) as of 2006-03-23      2056a782f8e7e65fd4bfd027506b4ce1c5e9ccd4 And then 2 patches added some checks between them: [PATCH] md: check bio address after mapping through partitions        5ddfe9691c91a244e8d1be597b6428fcefd58103, [BLOCK] Don't allow empty barriers to be passed down to queues that don't grok them        51fd77bd9f512ab6cc9df0733ba1caaab89eb957 It breaks original goal. Let's trace it only when it happens. Signed-off-by: Minchan Kim <minchan.kim@gmail.com> Acked-by: Wu Fengguang <fengguang.wu@intel.com> Cc: Li Zefan <lizf@cn.fujitsu.com> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'block')
-rw-r--r--block/blk-core.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/block/blk-core.c b/block/blk-core.c
index 93051d151635..982d634e67f9 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -1462,8 +1462,6 @@ static inline void __generic_make_request(struct bio *bio)
1462 if (old_sector != -1) 1462 if (old_sector != -1)
1463 trace_block_remap(q, bio, old_dev, old_sector); 1463 trace_block_remap(q, bio, old_dev, old_sector);
1464 1464
1465 trace_block_bio_queue(q, bio);
1466
1467 old_sector = bio->bi_sector; 1465 old_sector = bio->bi_sector;
1468 old_dev = bio->bi_bdev->bd_dev; 1466 old_dev = bio->bi_bdev->bd_dev;
1469 1467
@@ -1476,6 +1474,8 @@ static inline void __generic_make_request(struct bio *bio)
1476 goto end_io; 1474 goto end_io;
1477 } 1475 }
1478 1476
1477 trace_block_bio_queue(q, bio);
1478
1479 ret = q->make_request_fn(q, bio); 1479 ret = q->make_request_fn(q, bio);
1480 } while (ret); 1480 } while (ret);
1481 1481