aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/block/drbd/drbd_receiver.c
diff options
context:
space:
mode:
authorAndreas Gruenbacher <agruen@linbit.com>2011-08-30 15:38:04 +0200
committerPhilipp Reisner <philipp.reisner@linbit.com>2014-02-17 16:50:45 +0100
commite33b32de04f6c247b9d57621f5bdb48b3c2cadb3 (patch)
tree44adfd8362aa378a3148883ddb85f574fab8b26e /drivers/block/drbd/drbd_receiver.c
parentdrbd: In the worker thread, process drbd_work instead of drbd_device_work items (diff)
downloadlinux-dev-e33b32de04f6c247b9d57621f5bdb48b3c2cadb3.tar.xz
linux-dev-e33b32de04f6c247b9d57621f5bdb48b3c2cadb3.zip
drbd: Get rid of first_peer_device() in handle_write_conflicts()
Signed-off-by: Andreas Gruenbacher <agruen@linbit.com> Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Diffstat (limited to 'drivers/block/drbd/drbd_receiver.c')
-rw-r--r--drivers/block/drbd/drbd_receiver.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/block/drbd/drbd_receiver.c b/drivers/block/drbd/drbd_receiver.c
index e5e227f9d84e..4fa7e0e8c2f5 100644
--- a/drivers/block/drbd/drbd_receiver.c
+++ b/drivers/block/drbd/drbd_receiver.c
@@ -2065,7 +2065,7 @@ static void fail_postponed_requests(struct drbd_device *device, sector_t sector,
static int handle_write_conflicts(struct drbd_device *device,
struct drbd_peer_request *peer_req)
{
- struct drbd_connection *connection = first_peer_device(device)->connection;
+ struct drbd_connection *connection = peer_req->peer_device->connection;
bool resolve_conflicts = test_bit(RESOLVE_CONFLICTS, &connection->flags);
sector_t sector = peer_req->i.sector;
const unsigned int size = peer_req->i.size;
@@ -2119,7 +2119,7 @@ static int handle_write_conflicts(struct drbd_device *device,
peer_req->w.cb = superseded ? e_send_superseded :
e_send_retry_write;
list_add_tail(&peer_req->w.list, &device->done_ee);
- wake_asender(first_peer_device(device)->connection);
+ wake_asender(connection);
err = -ENOENT;
goto out;
@@ -2148,9 +2148,7 @@ static int handle_write_conflicts(struct drbd_device *device,
*/
err = drbd_wait_misc(device, &req->i);
if (err) {
- _conn_request_state(first_peer_device(device)->connection,
- NS(conn, C_TIMEOUT),
- CS_HARD);
+ _conn_request_state(connection, NS(conn, C_TIMEOUT), CS_HARD);
fail_postponed_requests(device, sector, size);
goto out;
}