diff options
author | Lars Ellenberg <lars.ellenberg@linbit.com> | 2011-03-31 15:18:56 +0200 |
---|---|---|
committer | Philipp Reisner <philipp.reisner@linbit.com> | 2012-11-08 16:45:01 +0100 |
commit | 181286ad22bf9bfb85de625e8501285de5261b35 (patch) | |
tree | 02ea5a0be7525834ed51a875d661872bd2047c60 /drivers/block/drbd/drbd_receiver.c | |
parent | 85f103d88c8eb91755eb3c103e5ead2c9389e35e (diff) | |
download | lwn-181286ad22bf9bfb85de625e8501285de5261b35.tar.gz lwn-181286ad22bf9bfb85de625e8501285de5261b35.zip |
drbd: preparation commit, pass drbd_interval to drbd_al_begin/complete_io
We want to avoid bio_split for bios crossing activity log boundaries.
So we may need to activate two activity log extents "atomically".
drbd_al_begin_io() needs to know more than just the start sector.
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_receiver.c')
-rw-r--r-- | drivers/block/drbd/drbd_receiver.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/block/drbd/drbd_receiver.c b/drivers/block/drbd/drbd_receiver.c index e52ae9becdca..c456a141eeec 100644 --- a/drivers/block/drbd/drbd_receiver.c +++ b/drivers/block/drbd/drbd_receiver.c @@ -2061,7 +2061,7 @@ static int receive_Data(struct drbd_tconn *tconn, struct packet_info *pi) drbd_set_out_of_sync(mdev, peer_req->i.sector, peer_req->i.size); peer_req->flags |= EE_CALL_AL_COMPLETE_IO; peer_req->flags &= ~EE_MAY_SET_IN_SYNC; - drbd_al_begin_io(mdev, peer_req->i.sector); + drbd_al_begin_io(mdev, &peer_req->i); } err = drbd_submit_peer_request(mdev, peer_req, rw, DRBD_FAULT_DT_WR); @@ -2075,7 +2075,7 @@ static int receive_Data(struct drbd_tconn *tconn, struct packet_info *pi) drbd_remove_epoch_entry_interval(mdev, peer_req); spin_unlock_irq(&mdev->tconn->req_lock); if (peer_req->flags & EE_CALL_AL_COMPLETE_IO) - drbd_al_complete_io(mdev, peer_req->i.sector); + drbd_al_complete_io(mdev, &peer_req->i); out_interrupted: drbd_may_finish_epoch(mdev, peer_req->epoch, EV_PUT + EV_CLEANUP); |