[PATCH] kernel-docs: fix kernel-doc format problems
[linux-block.git] / drivers / block / ll_rw_blk.c
index 0af73512b9a8c358e0bf4ae07922590c4700011d..5f52e30b43f812c75cef8289571e9a1a35bd2808 100644 (file)
@@ -706,7 +706,6 @@ EXPORT_SYMBOL(blk_queue_dma_alignment);
 
 /**
  * blk_queue_find_tag - find a request by its tag and queue
- *
  * @q:  The request queue for the device
  * @tag: The tag of the request
  *
@@ -2387,16 +2386,9 @@ static void drive_stat_acct(struct request *rq, int nr_sectors, int new_io)
        if (!blk_fs_request(rq) || !rq->rq_disk)
                return;
 
-       if (rw == READ) {
-               __disk_stat_add(rq->rq_disk, read_sectors, nr_sectors);
-               if (!new_io)
-                       __disk_stat_inc(rq->rq_disk, read_merges);
-       } else if (rw == WRITE) {
-               __disk_stat_add(rq->rq_disk, write_sectors, nr_sectors);
-               if (!new_io)
-                       __disk_stat_inc(rq->rq_disk, write_merges);
-       }
-       if (new_io) {
+       if (!new_io) {
+               __disk_stat_inc(rq->rq_disk, merges[rw]);
+       } else {
                disk_round_stats(rq->rq_disk);
                rq->rq_disk->in_flight++;
        }
@@ -2791,17 +2783,11 @@ static inline void blk_partition_remap(struct bio *bio)
 
        if (bdev != bdev->bd_contains) {
                struct hd_struct *p = bdev->bd_part;
+               const int rw = bio_data_dir(bio);
+
+               p->sectors[rw] += bio_sectors(bio);
+               p->ios[rw]++;
 
-               switch (bio_data_dir(bio)) {
-               case READ:
-                       p->read_sectors += bio_sectors(bio);
-                       p->reads++;
-                       break;
-               case WRITE:
-                       p->write_sectors += bio_sectors(bio);
-                       p->writes++;
-                       break;
-               }
                bio->bi_sector += p->start_sect;
                bio->bi_bdev = bdev->bd_contains;
        }
@@ -3048,6 +3034,12 @@ static int __end_that_request_first(struct request *req, int uptodate,
                                (unsigned long long)req->sector);
        }
 
+       if (blk_fs_request(req) && req->rq_disk) {
+               const int rw = rq_data_dir(req);
+
+               __disk_stat_add(req->rq_disk, sectors[rw], nr_bytes >> 9);
+       }
+
        total_bytes = bio_nbytes = 0;
        while ((bio = req->bio) != NULL) {
                int nbytes;
@@ -3176,16 +3168,10 @@ void end_that_request_last(struct request *req)
 
        if (disk && blk_fs_request(req)) {
                unsigned long duration = jiffies - req->start_time;
-               switch (rq_data_dir(req)) {
-                   case WRITE:
-                       __disk_stat_inc(disk, writes);
-                       __disk_stat_add(disk, write_ticks, duration);
-                       break;
-                   case READ:
-                       __disk_stat_inc(disk, reads);
-                       __disk_stat_add(disk, read_ticks, duration);
-                       break;
-               }
+               const int rw = rq_data_dir(req);
+
+               __disk_stat_inc(disk, ios[rw]);
+               __disk_stat_add(disk, ticks[rw], duration);
                disk_round_stats(disk);
                disk->in_flight--;
        }