diff --git a/drivers/block/drbd/drbd_main.c b/drivers/block/drbd/drbd_main.c index 2e7fd4d326db791f7153dd3846aa2f11c4b7073a..6c4454c9b4da59aa21ef739763bda4bc3cb046f2 100644 --- a/drivers/block/drbd/drbd_main.c +++ b/drivers/block/drbd/drbd_main.c @@ -1123,8 +1123,7 @@ send_bitmap_rle_or_plain(struct drbd_conf *mdev, { struct p_compressed_bm *p = (void*)h; unsigned long num_words; - int len; - int ok; + int len, err; len = fill_bitmap_rle_bits(mdev, p, c); @@ -1133,7 +1132,8 @@ send_bitmap_rle_or_plain(struct drbd_conf *mdev, if (len) { DCBP_set_code(p, RLE_VLI_Bits); - ok = !_drbd_send_cmd(mdev, mdev->tconn->data.socket, P_COMPRESSED_BITMAP, h, + err = _drbd_send_cmd(mdev, mdev->tconn->data.socket, + P_COMPRESSED_BITMAP, h, sizeof(*p) + len, 0); c->packets[0]++; @@ -1148,7 +1148,7 @@ send_bitmap_rle_or_plain(struct drbd_conf *mdev, len = num_words * sizeof(long); if (len) drbd_bm_get_lel(mdev, c->word_offset, num_words, (unsigned long*)h->payload); - ok = !_drbd_send_cmd(mdev, mdev->tconn->data.socket, P_BITMAP, + err = _drbd_send_cmd(mdev, mdev->tconn->data.socket, P_BITMAP, h, sizeof(struct p_header80) + len, 0); c->word_offset += num_words; c->bit_offset = c->word_offset * BITS_PER_LONG; @@ -1159,7 +1159,7 @@ send_bitmap_rle_or_plain(struct drbd_conf *mdev, if (c->bit_offset > c->bm_bits) c->bit_offset = c->bm_bits; } - if (ok) { + if (!err) { if (len == 0) { INFO_bm_xfer_stats(mdev, "send", c); return 0;