diff options
Diffstat (limited to 'drivers/md/raid5.c')
-rw-r--r-- | drivers/md/raid5.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c index 37e546528f9c..5899f211515f 100644 --- a/drivers/md/raid5.c +++ b/drivers/md/raid5.c | |||
@@ -3387,7 +3387,7 @@ static int make_request(struct request_queue *q, struct bio * bi) | |||
3387 | sector_t logical_sector, last_sector; | 3387 | sector_t logical_sector, last_sector; |
3388 | struct stripe_head *sh; | 3388 | struct stripe_head *sh; |
3389 | const int rw = bio_data_dir(bi); | 3389 | const int rw = bio_data_dir(bi); |
3390 | int remaining; | 3390 | int cpu, remaining; |
3391 | 3391 | ||
3392 | if (unlikely(bio_barrier(bi))) { | 3392 | if (unlikely(bio_barrier(bi))) { |
3393 | bio_endio(bi, -EOPNOTSUPP); | 3393 | bio_endio(bi, -EOPNOTSUPP); |
@@ -3396,8 +3396,10 @@ static int make_request(struct request_queue *q, struct bio * bi) | |||
3396 | 3396 | ||
3397 | md_write_start(mddev, bi); | 3397 | md_write_start(mddev, bi); |
3398 | 3398 | ||
3399 | disk_stat_inc(mddev->gendisk, ios[rw]); | 3399 | cpu = disk_stat_lock(); |
3400 | disk_stat_add(mddev->gendisk, sectors[rw], bio_sectors(bi)); | 3400 | disk_stat_inc(cpu, mddev->gendisk, ios[rw]); |
3401 | disk_stat_add(cpu, mddev->gendisk, sectors[rw], bio_sectors(bi)); | ||
3402 | disk_stat_unlock(); | ||
3401 | 3403 | ||
3402 | if (rw == READ && | 3404 | if (rw == READ && |
3403 | mddev->reshape_position == MaxSector && | 3405 | mddev->reshape_position == MaxSector && |