drbd: add missing part_round_stats to _drbd_start_io_acct
authorPhilipp Reisner <philipp.reisner@linbit.com>
Thu, 23 Feb 2012 11:56:26 +0000 (12:56 +0100)
committerPhilipp Reisner <philipp.reisner@linbit.com>
Thu, 8 Nov 2012 15:58:17 +0000 (16:58 +0100)
Without this, iostat frequently sees bogus svctime and >= 100% "utilization".

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
drivers/block/drbd/drbd_req.c

index 4737ad1f94bb81d4dcd34753c0a5a48b19d14d13..bfd14bc9693d4bfce94b6b60552d8a54c9f8ecdc 100644 (file)
@@ -39,6 +39,7 @@ static void _drbd_start_io_acct(struct drbd_conf *mdev, struct drbd_request *req
        const int rw = bio_data_dir(bio);
        int cpu;
        cpu = part_stat_lock();
+       part_round_stats(cpu, &mdev->vdisk->part0);
        part_stat_inc(cpu, &mdev->vdisk->part0, ios[rw]);
        part_stat_add(cpu, &mdev->vdisk->part0, sectors[rw], bio_sectors(bio));
        (void) cpu; /* The macro invocations above want the cpu argument, I do not like