cpu = part_stat_lock();
        part_stat_inc(cpu, &mdev->vdisk->part0, ios[rw]);
        part_stat_add(cpu, &mdev->vdisk->part0, sectors[rw], bio_sectors(bio));
+       part_inc_in_flight(&mdev->vdisk->part0, rw);
        part_stat_unlock();
-       mdev->vdisk->part0.in_flight[rw]++;
 }
 
 /* Update disk stats when completing request upwards */
        cpu = part_stat_lock();
        part_stat_add(cpu, &mdev->vdisk->part0, ticks[rw], duration);
        part_round_stats(cpu, &mdev->vdisk->part0);
+       part_dec_in_flight(&mdev->vdisk->part0, rw);
        part_stat_unlock();
-       mdev->vdisk->part0.in_flight[rw]--;
 }
 
 static void _req_is_done(struct drbd_conf *mdev, struct drbd_request *req, const int rw)