[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <77a665c6-1409-3dd0-2fde-221a00e04b3c@oracle.com>
Date: Mon, 6 Jan 2020 17:08:49 +0800
From: Bob Liu <bob.liu@...cle.com>
To: "Singh, Balbir" <sblbir@...zon.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-block@...r.kernel.org" <linux-block@...r.kernel.org>,
"linux-nvme@...ts.infradead.org" <linux-nvme@...ts.infradead.org>
Cc: "hch@....de" <hch@....de>,
"jejb@...ux.ibm.com" <jejb@...ux.ibm.com>,
"Chaitanya.Kulkarni@....com" <Chaitanya.Kulkarni@....com>,
"mst@...hat.com" <mst@...hat.com>,
"axboe@...nel.dk" <axboe@...nel.dk>,
"Sangaraju, Someswarudu" <ssomesh@...zon.com>
Subject: Re: [resend v1 0/5] Add support for block disk resize notification
On 1/6/20 4:47 PM, Singh, Balbir wrote:
> On Mon, 2020-01-06 at 13:59 +0800, Bob Liu wrote:
>> On 1/2/20 3:53 PM, Balbir Singh wrote:
>>> Allow block/genhd to notify user space about disk size changes
>>> using a new helper disk_set_capacity(), which is a wrapper on top
>>> of set_capacity(). disk_set_capacity() will only notify if
>>> the current capacity or the target capacity is not zero.
>>>
>>
>> set_capacity_and_notify() may be a more straightforward name.
>>
>
> Yes, agreed.
>
>>> Background:
>>>
>>> As a part of a patch to allow sending the RESIZE event on disk capacity
>>> change, Christoph (hch@....de) requested that the patch be made generic
>>> and the hacks for virtio block and xen block devices be removed and
>>> merged via a generic helper.
>>>
>>> This series consists of 5 changes. The first one adds the basic
>>> support for changing the size and notifying. The follow up patches
>>> are per block subsystem changes. Other block drivers can add their
>>> changes as necessary on top of this series.
>>>
>>> Testing:
>>> 1. I did some basic testing with an NVME device, by resizing it in
>>> the backend and ensured that udevd received the event.
>>>
>>> NOTE: After these changes, the notification might happen before
>>> revalidate disk, where as it occured later before.
>>>
>>
>> It's better not to change original behavior.
>> How about something like:
>>
>> +void set_capacity_and_notify(struct gendisk *disk, sector_t size, bool
>> revalidate)
>> {
>> sector_t capacity = get_capacity(disk);
>>
>> set_capacity(disk, size);
>>
>> + if (revalidate)
>> + revalidate_disk(disk);
>
> Do you see a concern with the notification going out before revalidate_disk?
Not aware any, but keep the original behavior is safer especial when not must change..
> I could keep the behaviour and come up with a suitable name
>
> revalidate_disk_and_notify() (set_capacity is a part of the revalidation
> process), or feel free to suggest a better name
>
Feel free to add my reviewed-by next version in this series.
Reviewed-by: Bob Liu <bob.liu@...cle.com>
> Thanks,
> Balbir Singh
>
Powered by blists - more mailing lists