Index: src/drbd/drbd_req.c =================================================================== --- src/drbd/drbd_req.c (revision 20679) +++ src/drbd/drbd_req.c (working copy) @@ -512,10 +512,10 @@ bio_put(req->private_bio); req->private_bio = NULL; - dec_local(mdev); if (bio_rw(req->master_bio) == READA) { /* it is legal to fail READA */ _req_may_be_done(req,error); + dec_local(mdev); break; } /* else */ @@ -536,6 +536,7 @@ * we get back enough data to be able to clear the bits again. */ __drbd_chk_io_error(mdev,FALSE); + dec_local(mdev); /* fall through: _req_mod(req,queue_for_net_read); */ case queue_for_net_read: