drbd: Get rid of first_peer_device() in handle_write_conflicts()
authorAndreas Gruenbacher <agruen@linbit.com>
Tue, 30 Aug 2011 13:38:04 +0000 (15:38 +0200)
committerPhilipp Reisner <philipp.reisner@linbit.com>
Mon, 17 Feb 2014 15:50:45 +0000 (16:50 +0100)
Signed-off-by: Andreas Gruenbacher <agruen@linbit.com>
Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
drivers/block/drbd/drbd_receiver.c

index e5e227f..4fa7e0e 100644 (file)
@@ -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;
                                }