drbd: centralize printk reporting of new size into drbd_set_my_capacity()
authorLars Ellenberg <lars.ellenberg@linbit.com>
Thu, 20 Dec 2018 16:23:30 +0000 (17:23 +0100)
committerJens Axboe <axboe@kernel.dk>
Thu, 20 Dec 2018 16:51:29 +0000 (09:51 -0700)
Previously, some implicit resizes that happend during handshake
have not been reported as prominently as explicit resize.

Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/block/drbd/drbd_int.h
drivers/block/drbd/drbd_main.c
drivers/block/drbd/drbd_nl.c

index 1e47db5..ab71858 100644 (file)
@@ -1609,13 +1609,7 @@ static inline void drbd_tcp_quickack(struct socket *sock)
 }
 
 /* sets the number of 512 byte sectors of our virtual device */
-static inline void drbd_set_my_capacity(struct drbd_device *device,
-                                       sector_t size)
-{
-       /* set_capacity(device->this_bdev->bd_disk, size); */
-       set_capacity(device->vdisk, size);
-       device->this_bdev->bd_inode->i_size = (loff_t)size << 9;
-}
+void drbd_set_my_capacity(struct drbd_device *device, sector_t size);
 
 /*
  * used to submit our private bio
index f973a2a..f9b4228 100644 (file)
@@ -2034,6 +2034,21 @@ void drbd_init_set_defaults(struct drbd_device *device)
        device->local_max_bio_size = DRBD_MAX_BIO_SIZE_SAFE;
 }
 
+static void _drbd_set_my_capacity(struct drbd_device *device, sector_t size)
+{
+       /* set_capacity(device->this_bdev->bd_disk, size); */
+       set_capacity(device->vdisk, size);
+       device->this_bdev->bd_inode->i_size = (loff_t)size << 9;
+}
+
+void drbd_set_my_capacity(struct drbd_device *device, sector_t size)
+{
+       char ppb[10];
+       _drbd_set_my_capacity(device, size);
+       drbd_info(device, "size = %s (%llu KB)\n",
+               ppsize(ppb, size>>1), (unsigned long long)size>>1);
+}
+
 void drbd_device_cleanup(struct drbd_device *device)
 {
        int i;
@@ -2059,7 +2074,7 @@ void drbd_device_cleanup(struct drbd_device *device)
        }
        D_ASSERT(device, first_peer_device(device)->connection->net_conf == NULL);
 
-       drbd_set_my_capacity(device, 0);
+       _drbd_set_my_capacity(device, 0);
        if (device->bitmap) {
                /* maybe never allocated. */
                drbd_bm_resize(device, 0, 1);
index d15703b..d02d38f 100644 (file)
@@ -921,7 +921,6 @@ drbd_determine_dev_size(struct drbd_device *device, enum dds_flags flags, struct
        } prev;
        sector_t u_size, size;
        struct drbd_md *md = &device->ldev->md;
-       char ppb[10];
        void *buffer;
 
        int md_moved, la_size_changed;
@@ -999,8 +998,6 @@ drbd_determine_dev_size(struct drbd_device *device, enum dds_flags flags, struct
                /* racy, see comments above. */
                drbd_set_my_capacity(device, size);
                md->la_size_sect = size;
-               drbd_info(device, "size = %s (%llu KB)\n", ppsize(ppb, size>>1),
-                    (unsigned long long)size>>1);
        }
        if (rv <= DS_ERROR)
                goto err_out;