[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f260159c7c56a08711240cc6c7f69d2d5327a449.camel@amazon.com>
Date: Mon, 6 Jan 2020 08:47:06 +0000
From: "Singh, Balbir" <sblbir@...zon.com>
To: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"bob.liu@...cle.com" <bob.liu@...cle.com>,
"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 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?
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
Thanks,
Balbir Singh
Powered by blists - more mailing lists