diff options
Diffstat (limited to 'drivers/block/aoe/aoecmd.c')
-rw-r--r-- | drivers/block/aoe/aoecmd.c | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/drivers/block/aoe/aoecmd.c b/drivers/block/aoe/aoecmd.c index 2f1746295d06..961d29a53cab 100644 --- a/drivers/block/aoe/aoecmd.c +++ b/drivers/block/aoe/aoecmd.c | |||
@@ -645,7 +645,7 @@ aoecmd_sleepwork(struct work_struct *work) | |||
645 | unsigned long flags; | 645 | unsigned long flags; |
646 | u64 ssize; | 646 | u64 ssize; |
647 | 647 | ||
648 | ssize = d->gd->capacity; | 648 | ssize = get_capacity(d->gd); |
649 | bd = bdget_disk(d->gd, 0); | 649 | bd = bdget_disk(d->gd, 0); |
650 | 650 | ||
651 | if (bd) { | 651 | if (bd) { |
@@ -707,7 +707,7 @@ ataid_complete(struct aoedev *d, struct aoetgt *t, unsigned char *id) | |||
707 | if (d->flags & (DEVFL_GDALLOC|DEVFL_NEWSIZE)) | 707 | if (d->flags & (DEVFL_GDALLOC|DEVFL_NEWSIZE)) |
708 | return; | 708 | return; |
709 | if (d->gd != NULL) { | 709 | if (d->gd != NULL) { |
710 | d->gd->capacity = ssize; | 710 | set_capacity(d->gd, ssize); |
711 | d->flags |= DEVFL_NEWSIZE; | 711 | d->flags |= DEVFL_NEWSIZE; |
712 | } else | 712 | } else |
713 | d->flags |= DEVFL_GDALLOC; | 713 | d->flags |= DEVFL_GDALLOC; |
@@ -756,12 +756,17 @@ diskstats(struct gendisk *disk, struct bio *bio, ulong duration, sector_t sector | |||
756 | unsigned long n_sect = bio->bi_size >> 9; | 756 | unsigned long n_sect = bio->bi_size >> 9; |
757 | const int rw = bio_data_dir(bio); | 757 | const int rw = bio_data_dir(bio); |
758 | struct hd_struct *part; | 758 | struct hd_struct *part; |
759 | int cpu; | ||
759 | 760 | ||
760 | part = get_part(disk, sector); | 761 | cpu = part_stat_lock(); |
761 | all_stat_inc(disk, part, ios[rw], sector); | 762 | part = disk_map_sector_rcu(disk, sector); |
762 | all_stat_add(disk, part, ticks[rw], duration, sector); | 763 | |
763 | all_stat_add(disk, part, sectors[rw], n_sect, sector); | 764 | part_stat_inc(cpu, part, ios[rw]); |
764 | all_stat_add(disk, part, io_ticks, duration, sector); | 765 | part_stat_add(cpu, part, ticks[rw], duration); |
766 | part_stat_add(cpu, part, sectors[rw], n_sect); | ||
767 | part_stat_add(cpu, part, io_ticks, duration); | ||
768 | |||
769 | part_stat_unlock(); | ||
765 | } | 770 | } |
766 | 771 | ||
767 | void | 772 | void |