Commit 24d69293 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Jens Axboe

drbd: use bio_{start,end}_io_acct

Switch drbd to use the nicer bio accounting helpers.
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarKonstantin Khlebnikov <khlebnikov@yandex-team.ru>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 956d510e
...@@ -21,24 +21,6 @@ ...@@ -21,24 +21,6 @@
static bool drbd_may_do_local_read(struct drbd_device *device, sector_t sector, int size); static bool drbd_may_do_local_read(struct drbd_device *device, sector_t sector, int size);
/* Update disk stats at start of I/O request */
static void _drbd_start_io_acct(struct drbd_device *device, struct drbd_request *req)
{
struct request_queue *q = device->rq_queue;
generic_start_io_acct(q, bio_op(req->master_bio),
req->i.size >> 9, &device->vdisk->part0);
}
/* Update disk stats when completing request upwards */
static void _drbd_end_io_acct(struct drbd_device *device, struct drbd_request *req)
{
struct request_queue *q = device->rq_queue;
generic_end_io_acct(q, bio_op(req->master_bio),
&device->vdisk->part0, req->start_jif);
}
static struct drbd_request *drbd_req_new(struct drbd_device *device, struct bio *bio_src) static struct drbd_request *drbd_req_new(struct drbd_device *device, struct bio *bio_src)
{ {
struct drbd_request *req; struct drbd_request *req;
...@@ -263,7 +245,7 @@ void drbd_req_complete(struct drbd_request *req, struct bio_and_error *m) ...@@ -263,7 +245,7 @@ void drbd_req_complete(struct drbd_request *req, struct bio_and_error *m)
start_new_tl_epoch(first_peer_device(device)->connection); start_new_tl_epoch(first_peer_device(device)->connection);
/* Update disk stats */ /* Update disk stats */
_drbd_end_io_acct(device, req); bio_end_io_acct(req->master_bio, req->start_jif);
/* If READ failed, /* If READ failed,
* have it be pushed back to the retry work queue, * have it be pushed back to the retry work queue,
...@@ -1222,16 +1204,15 @@ drbd_request_prepare(struct drbd_device *device, struct bio *bio, unsigned long ...@@ -1222,16 +1204,15 @@ drbd_request_prepare(struct drbd_device *device, struct bio *bio, unsigned long
bio_endio(bio); bio_endio(bio);
return ERR_PTR(-ENOMEM); return ERR_PTR(-ENOMEM);
} }
req->start_jif = start_jif;
/* Update disk stats */
req->start_jif = bio_start_io_acct(req->master_bio);
if (!get_ldev(device)) { if (!get_ldev(device)) {
bio_put(req->private_bio); bio_put(req->private_bio);
req->private_bio = NULL; req->private_bio = NULL;
} }
/* Update disk stats */
_drbd_start_io_acct(device, req);
/* process discards always from our submitter thread */ /* process discards always from our submitter thread */
if (bio_op(bio) == REQ_OP_WRITE_ZEROES || if (bio_op(bio) == REQ_OP_WRITE_ZEROES ||
bio_op(bio) == REQ_OP_DISCARD) bio_op(bio) == REQ_OP_DISCARD)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment