summaryrefslogtreecommitdiff
path: root/drivers/block/drbd/drbd_worker.c
diff options
context:
space:
mode:
authorLars Ellenberg <lars.ellenberg@linbit.com>2012-01-16 18:04:33 +0400
committerPhilipp Reisner <philipp.reisner@linbit.com>2012-05-09 17:16:51 +0400
commit46385c84acd6654d3a38c9c7af1921dbded74aa2 (patch)
tree352c84f1e31a15bd50d3993b71f20d93357372d4 /drivers/block/drbd/drbd_worker.c
parentd64957c9a9757642f59aa4a63dadf159b2694bab (diff)
downloadlinux-46385c84acd6654d3a38c9c7af1921dbded74aa2.tar.xz
drbd: move put_ldev from __req_mod() to the endio callback
One invocation in the endio handler is good enough, we don't need mention it for each of the different ways it calls __req_mod(). Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Diffstat (limited to 'drivers/block/drbd/drbd_worker.c')
-rw-r--r--drivers/block/drbd/drbd_worker.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/block/drbd/drbd_worker.c b/drivers/block/drbd/drbd_worker.c
index 14aa4a2d4dc4..620c70ff2231 100644
--- a/drivers/block/drbd/drbd_worker.c
+++ b/drivers/block/drbd/drbd_worker.c
@@ -244,6 +244,7 @@ void drbd_endio_pri(struct bio *bio, int error)
spin_lock_irqsave(&mdev->req_lock, flags);
__req_mod(req, what, &m);
spin_unlock_irqrestore(&mdev->req_lock, flags);
+ put_ldev(mdev);
if (m.bio)
complete_master_bio(mdev, &m);