drbd: drbd_send_state(): Return 0 upon success and an error code otherwise
authorAndreas Gruenbacher <agruen@linbit.com>
Tue, 15 Mar 2011 23:50:00 +0000 (00:50 +0100)
committerPhilipp Reisner <philipp.reisner@linbit.com>
Thu, 8 Nov 2012 15:44:33 +0000 (16:44 +0100)
Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
drivers/block/drbd/drbd_main.c
drivers/block/drbd/drbd_receiver.c
drivers/block/drbd/drbd_state.c

index 80cfd3020711874c8f1afca7a823b4c9a0b7e245..8d5ed6f5241634401ff002bb30fdfa44b6fc4857 100644 (file)
@@ -974,7 +974,7 @@ int drbd_send_state(struct drbd_conf *mdev)
 {
        struct socket *sock;
        struct p_state p;
-       int ok = 0;
+       int err = -EIO;
 
        mutex_lock(&mdev->tconn->data.mutex);
 
@@ -982,11 +982,11 @@ int drbd_send_state(struct drbd_conf *mdev)
        sock = mdev->tconn->data.socket;
 
        if (likely(sock != NULL))
-               ok = !_drbd_send_cmd(mdev, sock, P_STATE, &p.head, sizeof(p), 0);
+               err = _drbd_send_cmd(mdev, sock, P_STATE, &p.head, sizeof(p), 0);
 
        mutex_unlock(&mdev->tconn->data.mutex);
 
-       return ok;
+       return err;
 }
 
 int _conn_send_state_req(struct drbd_tconn *tconn, int vnr, enum drbd_packet cmd,
index c35be86b121ea432a1abaf72a77d112657a39a6a..fb907377402d4f769254256d3fa22c57d5185015 100644 (file)
@@ -766,7 +766,7 @@ int drbd_connected(int vnr, void *p, void *data)
        ok &= !drbd_send_sync_param(mdev);
        ok &= drbd_send_sizes(mdev, 0, 0);
        ok &= drbd_send_uuids(mdev);
-       ok &= drbd_send_state(mdev);
+       ok &= !drbd_send_state(mdev);
        clear_bit(USE_DEGR_WFC_T, &mdev->flags);
        clear_bit(RESIZE_PENDING, &mdev->flags);
 
index cb08e011c2885d65b21f911f947666dc28a994e0..29372dbad2782764de5a270a9c2edf78e1c9daea 100644 (file)
@@ -1188,7 +1188,7 @@ static void after_state_ch(struct drbd_conf *mdev, union drbd_state os,
                                "ASSERT FAILED: disk is %s during detach\n",
                                drbd_disk_str(mdev->state.disk));
 
-               if (drbd_send_state(mdev))
+               if (!drbd_send_state(mdev))
                        dev_warn(DEV, "Notified peer that I am detaching my disk\n");
                else
                        dev_err(DEV, "Sending state for detaching disk failed\n");
@@ -1220,7 +1220,7 @@ static void after_state_ch(struct drbd_conf *mdev, union drbd_state os,
                 mdev->rs_failed = 0;
                 atomic_set(&mdev->rs_pending_cnt, 0);
 
-               if (drbd_send_state(mdev))
+               if (!drbd_send_state(mdev))
                        dev_warn(DEV, "Notified peer that I'm now diskless.\n");
                /* corresponding get_ldev in __drbd_set_state
                 * this may finally trigger drbd_ldev_destroy. */