Re: rbd-nbd not resizing even after kernel tweaks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> On Wed, Apr 11, 2018 at 10:27 AM, Alex Gorbachev <ag@xxxxxxxxxxxxxxxxxxx> wrote:
>> On Wed, Apr 11, 2018 at 2:43 AM, Mykola Golub <to.my.trociny@xxxxxxxxx> wrote:
>>> On Tue, Apr 10, 2018 at 11:14:58PM -0400, Alex Gorbachev wrote:
>>>
>>>> So Josef fixed the one issue that enables e.g. lsblk and sysfs size to
>>>> reflect the correct siz on change.  However, partptobe and parted
>>>> still do not detect the change, complete unmap and remap of rbd-nbd
>>>> device and remount of the filesystem is required.
>>>
>>> Does your rbd-nbd include this fix [1], targeted for v12.2.3?
>>>
>>> [1] http://tracker.ceph.com/issues/22172
>>
>> It should, the rbd-nbd version is 12.2.4
>>
>> root@lumd1:~# rbd-nbd -v
>> ceph version 12.2.4 (52085d5249a80c5f5121a76d6288429f35e4e77b) luminous (stable)
>> _______________________________________________

On Wed, Apr 11, 2018 at 10:39 AM, Jason Dillaman <jdillama@xxxxxxxxxx> wrote:
> Do you have a preliminary patch that we can test against?
> Jason

Hi Jason,

This is the one Josef did, which fixes detection of the new size via
sysfs (lsblk eetc.), but parted still requires complete unmapping and
remapping of the NBD device to detect the change.

I built a kernel with this patch based on 4.14.24, and also tested
with the latest mainline 4.16.1 - same behavior.

cc: stable@xxxxxxxxxxxxxxx
Fixes: 639812a ("nbd: don't set the device size until we're connected")
Signed-off-by: Josef Bacik <jbacik@xxxxxx>
---
 drivers/block/nbd.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c
index 86258b00a1d4..7106b98a35fb 100644
--- a/drivers/block/nbd.c
+++ b/drivers/block/nbd.c
@@ -243,6 +243,8 @@ static void nbd_size_set(struct nbd_device *nbd,
loff_t blocksize,
        struct nbd_config *config = nbd->config;
        config->blksize = blocksize;
        config->bytesize = blocksize * nr_blocks;
+       if (nbd->task_recv != NULL)
+               nbd_size_update(nbd);
 }

 static void nbd_complete_rq(struct request *req)

Regards,
Alex
_______________________________________________
ceph-users mailing list
ceph-users@xxxxxxxxxxxxxx
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com



[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Ceph Dev]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux