lkml.org 
[lkml]   [2016]   [Jun]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 21/30] drbd: report sizes if rejecting too small peer disk
    Date
    From: Lars Ellenberg <lars.ellenberg@linbit.com>

    Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
    Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
    ---
    drivers/block/drbd/drbd_receiver.c | 9 ++++++---
    1 file changed, 6 insertions(+), 3 deletions(-)

    diff --git a/drivers/block/drbd/drbd_receiver.c b/drivers/block/drbd/drbd_receiver.c
    index cb80fb4..367b8e9 100644
    --- a/drivers/block/drbd/drbd_receiver.c
    +++ b/drivers/block/drbd/drbd_receiver.c
    @@ -3952,6 +3952,7 @@ static int receive_sizes(struct drbd_connection *connection, struct packet_info
    device->p_size = p_size;

    if (get_ldev(device)) {
    + sector_t new_size, cur_size;
    rcu_read_lock();
    my_usize = rcu_dereference(device->ldev->disk_conf)->disk_size;
    rcu_read_unlock();
    @@ -3968,11 +3969,13 @@ static int receive_sizes(struct drbd_connection *connection, struct packet_info

    /* Never shrink a device with usable data during connect.
    But allow online shrinking if we are connected. */
    - if (drbd_new_dev_size(device, device->ldev, p_usize, 0) <
    - drbd_get_capacity(device->this_bdev) &&
    + new_size = drbd_new_dev_size(device, device->ldev, p_usize, 0);
    + cur_size = drbd_get_capacity(device->this_bdev);
    + if (new_size < cur_size &&
    device->state.disk >= D_OUTDATED &&
    device->state.conn < C_CONNECTED) {
    - drbd_err(device, "The peer's disk size is too small!\n");
    + drbd_err(device, "The peer's disk size is too small! (%llu < %llu sectors)\n",
    + (unsigned long long)new_size, (unsigned long long)cur_size);
    conn_request_state(peer_device->connection, NS(conn, C_DISCONNECTING), CS_HARD);
    put_ldev(device);
    return -EIO;
    --
    2.7.4
    \
     
     \ /
      Last update: 2016-06-14 01:21    [W:4.401 / U:0.088 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site