summaryrefslogtreecommitdiffstats
path: root/drivers/md/linear.c
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2010-03-25 16:20:56 +1100
committerNeilBrown <neilb@suse.de>2010-05-18 15:27:52 +1000
commit490773268cf64f68da2470e07b52c7944da6312d (patch)
treed394aafa7203c316db6b63f128b8894e18993fca /drivers/md/linear.c
parent2b7f22284d71975e37a82db154386348eec0e52c (diff)
downloadlinux-490773268cf64f68da2470e07b52c7944da6312d.tar.gz
linux-490773268cf64f68da2470e07b52c7944da6312d.tar.bz2
linux-490773268cf64f68da2470e07b52c7944da6312d.zip
md: move io accounting out of personalities into md_make_request
While I generally prefer letting personalities do as much as possible, given that we have a central md_make_request anyway we may as well use it to simplify code. Also this centralises knowledge of ->gendisk which will help later. Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'drivers/md/linear.c')
-rw-r--r--drivers/md/linear.c8
1 files changed, 0 insertions, 8 deletions
diff --git a/drivers/md/linear.c b/drivers/md/linear.c
index 9db8ee0614a4..3048c1704f40 100644
--- a/drivers/md/linear.c
+++ b/drivers/md/linear.c
@@ -288,23 +288,15 @@ static int linear_stop (mddev_t *mddev)
static int linear_make_request (struct request_queue *q, struct bio *bio)
{
- const int rw = bio_data_dir(bio);
mddev_t *mddev = q->queuedata;
dev_info_t *tmp_dev;
sector_t start_sector;
- int cpu;
if (unlikely(bio_rw_flagged(bio, BIO_RW_BARRIER))) {
md_barrier_request(mddev, bio);
return 0;
}
- cpu = part_stat_lock();
- part_stat_inc(cpu, &mddev->gendisk->part0, ios[rw]);
- part_stat_add(cpu, &mddev->gendisk->part0, sectors[rw],
- bio_sectors(bio));
- part_stat_unlock();
-
rcu_read_lock();
tmp_dev = which_dev(mddev, bio->bi_sector);
start_sector = tmp_dev->end_sector - tmp_dev->rdev->sectors;