|
@@ -468,16 +468,11 @@ aoecmd_ata_rsp(struct sk_buff *skb)
|
|
|
unsigned long duration = jiffies - buf->start_time;
|
|
|
unsigned long n_sect = buf->bio->bi_size >> 9;
|
|
|
struct gendisk *disk = d->gd;
|
|
|
+ const int rw = bio_data_dir(buf->bio);
|
|
|
|
|
|
- if (bio_data_dir(buf->bio) == WRITE) {
|
|
|
- disk_stat_inc(disk, writes);
|
|
|
- disk_stat_add(disk, write_ticks, duration);
|
|
|
- disk_stat_add(disk, write_sectors, n_sect);
|
|
|
- } else {
|
|
|
- disk_stat_inc(disk, reads);
|
|
|
- disk_stat_add(disk, read_ticks, duration);
|
|
|
- disk_stat_add(disk, read_sectors, n_sect);
|
|
|
- }
|
|
|
+ disk_stat_inc(disk, ios[rw]);
|
|
|
+ disk_stat_add(disk, ticks[rw], duration);
|
|
|
+ disk_stat_add(disk, sectors[rw], n_sect);
|
|
|
disk_stat_add(disk, io_ticks, duration);
|
|
|
n = (buf->flags & BUFFL_FAIL) ? -EIO : 0;
|
|
|
bio_endio(buf->bio, buf->bio->bi_size, n);
|