aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Gruenbacher <agruen@linbit.com>2011-08-30 09:38:04 -0400
committerPhilipp Reisner <philipp.reisner@linbit.com>2014-02-17 10:50:45 -0500
commite33b32de04f6c247b9d57621f5bdb48b3c2cadb3 (patch)
tree44adfd8362aa378a3148883ddb85f574fab8b26e
parent6db7e50a8a40d2210544b4a09f3d4988127c20ad (diff)
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>
-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,
2065static int handle_write_conflicts(struct drbd_device *device, 2065static int handle_write_conflicts(struct drbd_device *device,
2066 struct drbd_peer_request *peer_req) 2066 struct drbd_peer_request *peer_req)
2067{ 2067{
2068 struct drbd_connection *connection = first_peer_device(device)->connection; 2068 struct drbd_connection *connection = peer_req->peer_device->connection;
2069 bool resolve_conflicts = test_bit(RESOLVE_CONFLICTS, &connection->flags); 2069 bool resolve_conflicts = test_bit(RESOLVE_CONFLICTS, &connection->flags);
2070 sector_t sector = peer_req->i.sector; 2070 sector_t sector = peer_req->i.sector;
2071 const unsigned int size = peer_req->i.size; 2071 const unsigned int size = peer_req->i.size;
@@ -2119,7 +2119,7 @@ static int handle_write_conflicts(struct drbd_device *device,
2119 peer_req->w.cb = superseded ? e_send_superseded : 2119 peer_req->w.cb = superseded ? e_send_superseded :
2120 e_send_retry_write; 2120 e_send_retry_write;
2121 list_add_tail(&peer_req->w.list, &device->done_ee); 2121 list_add_tail(&peer_req->w.list, &device->done_ee);
2122 wake_asender(first_peer_device(device)->connection); 2122 wake_asender(connection);
2123 2123
2124 err = -ENOENT; 2124 err = -ENOENT;
2125 goto out; 2125 goto out;
@@ -2148,9 +2148,7 @@ static int handle_write_conflicts(struct drbd_device *device,
2148 */ 2148 */
2149 err = drbd_wait_misc(device, &req->i); 2149 err = drbd_wait_misc(device, &req->i);
2150 if (err) { 2150 if (err) {
2151 _conn_request_state(first_peer_device(device)->connection, 2151 _conn_request_state(connection, NS(conn, C_TIMEOUT), CS_HARD);
2152 NS(conn, C_TIMEOUT),
2153 CS_HARD);
2154 fail_postponed_requests(device, sector, size); 2152 fail_postponed_requests(device, sector, size);
2155 goto out; 2153 goto out;
2156 } 2154 }