Commit 01edede4 authored by Minchan Kim's avatar Minchan Kim Committed by Jens Axboe

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
      2056a782

And then 2 patches added some checks between them:
[PATCH] md: check bio address after mapping through partitions
        5ddfe969,
[BLOCK] Don't allow empty barriers to be passed down to
queues that don't grok them
        51fd77bd

It breaks original goal.
Let's trace it only when it happens.
Signed-off-by: default avatarMinchan Kim <minchan.kim@gmail.com>
Acked-by: default avatarWu Fengguang <fengguang.wu@intel.com>
Cc: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
parent 01e97f6b
...@@ -1462,8 +1462,6 @@ static inline void __generic_make_request(struct bio *bio) ...@@ -1462,8 +1462,6 @@ static inline void __generic_make_request(struct bio *bio)
if (old_sector != -1) if (old_sector != -1)
trace_block_remap(q, bio, old_dev, old_sector); trace_block_remap(q, bio, old_dev, old_sector);
trace_block_bio_queue(q, bio);
old_sector = bio->bi_sector; old_sector = bio->bi_sector;
old_dev = bio->bi_bdev->bd_dev; old_dev = bio->bi_bdev->bd_dev;
...@@ -1476,6 +1474,8 @@ static inline void __generic_make_request(struct bio *bio) ...@@ -1476,6 +1474,8 @@ static inline void __generic_make_request(struct bio *bio)
goto end_io; goto end_io;
} }
trace_block_bio_queue(q, bio);
ret = q->make_request_fn(q, bio); ret = q->make_request_fn(q, bio);
} while (ret); } while (ret);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment