[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAA9_cmf0cKZXdQ2N3iSbwVqgLDGJ7TMvVYuZTqjVE-7EqHHcdg@mail.gmail.com>
Date: Thu, 30 Jun 2016 15:10:06 -0700
From: Dan Williams <dan.j.williams@...il.com>
To: Fam Zheng <famz@...hat.com>
Cc: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Paul Mackerras <paulus@...ba.org>,
Michael Ellerman <mpe@...erman.id.au>,
Jens Axboe <axboe@...nel.dk>,
"Ed L. Cashin" <ed.cashin@....org>, Jiri Kosina <jikos@...nel.org>,
"Michael S. Tsirkin" <mst@...hat.com>,
Minchan Kim <minchan@...nel.org>,
Nitin Gupta <ngupta@...are.org>,
Sergey Senozhatsky <sergey.senozhatsky.work@...il.com>,
Shaohua Li <shli@...nel.org>,
Ulf Hansson <ulf.hansson@...aro.org>,
David Woodhouse <dwmw2@...radead.org>,
Brian Norris <computersforpeace@...il.com>,
Keith Busch <keith.busch@...el.com>,
linuxppc-dev <linuxppc-dev@...ts.ozlabs.org>,
linux-block@...r.kernel.org,
virtualization@...ts.linux-foundation.org,
linux-raid <linux-raid@...r.kernel.org>,
"linux-mmc@...r.kernel.org" <linux-mmc@...r.kernel.org>,
linux-mtd@...ts.infradead.org, linux-nvme@...ts.infradead.org,
Christoph Hellwig <hch@...radead.org>
Subject: Re: [PATCH v2 04/12] axonrom: Generate uevent after attribute available
On Wed, Jun 29, 2016 at 6:59 PM, Fam Zheng <famz@...hat.com> wrote:
> It is documented that KOBJ_ADD should be generated after the object's
> attributes and children are ready. We can achieve this with the new
> disk_gen_uevents interface.
>
> Signed-off-by: Fam Zheng <famz@...hat.com>
> ---
> arch/powerpc/sysdev/axonram.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/arch/powerpc/sysdev/axonram.c b/arch/powerpc/sysdev/axonram.c
> index 4efd69b..27e7175 100644
> --- a/arch/powerpc/sysdev/axonram.c
> +++ b/arch/powerpc/sysdev/axonram.c
> @@ -238,7 +238,7 @@ static int axon_ram_probe(struct platform_device *device)
> set_capacity(bank->disk, bank->size >> AXON_RAM_SECTOR_SHIFT);
> blk_queue_make_request(bank->disk->queue, axon_ram_make_request);
> blk_queue_logical_block_size(bank->disk->queue, AXON_RAM_SECTOR_SIZE);
> - add_disk(bank->disk, true);
> + add_disk(bank->disk, false);
>
> bank->irq_id = irq_of_parse_and_map(device->dev.of_node, 0);
> if (bank->irq_id == NO_IRQ) {
> @@ -262,6 +262,7 @@ static int axon_ram_probe(struct platform_device *device)
> rc = -EFAULT;
> goto failed;
> }
> + disk_gen_uevents(bank->disk);
I assume you are doing this after:
rc = device_create_file(&device->dev, &dev_attr_ecc);
...so that userspace gets notified of the new attribute, but this
attribute is on the parent device, not the disk itself. Instead I
think this attribute should simply be registered before the call to
add_disk(). Then the KOBJ_ADD event for the disk comes after the
attribute is available. It's still not a clean fit, because userspace
should not be expecting a child device uevent to signal new attributes
available on the parent.
Powered by blists - more mailing lists