From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2001:1868:205::9]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 3rg8gN4wdXzDrHx for ; Thu, 30 Jun 2016 16:25:52 +1000 (AEST) Date: Wed, 29 Jun 2016 23:24:42 -0700 From: Christoph Hellwig To: Fam Zheng Cc: linux-kernel@vger.kernel.org, Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , Jens Axboe , "Ed L. Cashin" , Jiri Kosina , "Michael S. Tsirkin" , Minchan Kim , Nitin Gupta , Sergey Senozhatsky , Shaohua Li , Ulf Hansson , David Woodhouse , Brian Norris , Keith Busch , linuxppc-dev@lists.ozlabs.org, linux-block@vger.kernel.org, virtualization@lists.linux-foundation.org, linux-raid@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mtd@lists.infradead.org, linux-nvme@lists.infradead.org, dan.j.williams@intel.com Subject: Re: [PATCH v2 00/12] gendisk: Generate uevent after attribute available Message-ID: <20160630062442.GA19761@infradead.org> References: <20160630015953.6888-1-famz@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii In-Reply-To: <20160630015953.6888-1-famz@redhat.com> List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Thu, Jun 30, 2016 at 09:59:41AM +0800, Fam Zheng wrote: > Documentation/kobject.txt: > > Use the KOBJ_ADD action for when the kobject is first added to the kernel. > > This should be done only after any attributes or children of the kobject > > have been initialized properly, as userspace will instantly start to look > > for them when this call happens. > > Unfortunately it seems impossible to fix this generally without touching the > offending callers. The approach I'm proposing here is adding a flag to > suppress uevent in add_disk(), which is patch 1, then in later patches, convert > any caller to only trigger the uevent when attributes are added. We (or rather Dan) is touching most add_disk callers anyway for the driverfs_dev removal. Let's just pass the array of attributes to a disk_add variant and solve the issue for real.