I've tested the patch on both 4.14.0 and 4.16.0 and it appears to
function correctly for me. parted can see the newly added free-space
after resizing the RBD image and our stress tests once again pass
successfully. Do you have any additional details on the issues you are
On Wed, Apr 11, 2018 at 12:06 PM, Jason Dillaman <jdill...@redhat.com> wrote:
> I'll give it a try locally and see if I can figure it out. Note that
> this commit  also dropped the call to "bd_set_size" within
> "nbd_size_update", which seems suspicious to me at initial glance.
> On Wed, Apr 11, 2018 at 11:09 AM, Alex Gorbachev <a...@iss-integration.com>
>>> On Wed, Apr 11, 2018 at 10:27 AM, Alex Gorbachev <a...@iss-integration.com>
>>>> On Wed, Apr 11, 2018 at 2:43 AM, Mykola Golub <to.my.troc...@gmail.com>
>>>>> 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 , targeted for v12.2.3?
>>>>>  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
>> On Wed, Apr 11, 2018 at 10:39 AM, Jason Dillaman <jdill...@redhat.com> wrote:
>>> Do you have a preliminary patch that we can test against?
>> 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: sta...@vger.kernel.org
>> Fixes: 639812a ("nbd: don't set the device size until we're connected")
>> Signed-off-by: Josef Bacik <jba...@fb.com>
>> 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)
ceph-users mailing list