From: Jens Axboe <axboe@kernel.dk>
To: Daniel Golle <daniel@makrotopia.org>
Cc: "Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Ulf Hansson" <ulf.hansson@linaro.org>,
"Hauke Mehrtens" <hauke@hauke-m.de>,
"Felix Fietkau" <nbd@nbd.name>,
"Srinivas Kandagatla" <srinivas.kandagatla@linaro.org>,
"Dave Chinner" <dchinner@redhat.com>, "Jan Kara" <jack@suse.cz>,
"Christian Brauner" <brauner@kernel.org>,
"Thomas Weißschuh" <linux@weissschuh.net>,
"Al Viro" <viro@zeniv.linux.org.uk>,
"Li Lingfeng" <lilingfeng3@huawei.com>,
"Christian Heusel" <christian@heusel.eu>,
"Min Li" <min15.li@samsung.com>,
"Avri Altman" <avri.altman@wdc.com>,
"Adrian Hunter" <adrian.hunter@intel.com>,
"Hannes Reinecke" <hare@suse.de>,
"Mikko Rapeli" <mikko.rapeli@linaro.org>,
"Yeqi Fu" <asuk4.q@gmail.com>,
"Victor Shih" <victor.shih@genesyslogic.com.tw>,
"Christophe JAILLET" <christophe.jaillet@wanadoo.fr>,
"Li Zhijian" <lizhijian@fujitsu.com>,
"Ricardo B. Marliere" <ricardo@marliere.net>,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-mmc@vger.kernel.org, linux-block@vger.kernel.org
Subject: Re: [PATCH v3 3/4] block: add support for notifications
Date: Wed, 26 Jun 2024 14:23:13 -0600 [thread overview]
Message-ID: <f533a5d6-94da-4ede-8d9f-e40df2425698@kernel.dk> (raw)
In-Reply-To: <ZnxyQgYyM31Xq2xV@makrotopia.org>
On 6/26/24 1:55 PM, Daniel Golle wrote:
> Hi Jens,
>
> thanks a lot for the review!
>
> On Wed, Jun 26, 2024 at 01:46:50PM -0600, Jens Axboe wrote:
>> On 6/25/24 8:51 PM, Daniel Golle wrote:
>>> +static int blk_call_notifier_add(struct device *dev)
>>> +{
>>> + struct blk_device_list *new_blkdev;
>>> +
>>> + new_blkdev = kmalloc(sizeof(*new_blkdev), GFP_KERNEL);
>>> + if (!new_blkdev)
>>> + return -ENOMEM;
>>> +
>>> + new_blkdev->dev = dev;
>>> + mutex_lock(&blk_notifier_lock);
>>> + list_add_tail(&new_blkdev->list, &blk_devices);
>>> + raw_notifier_call_chain(&blk_notifier_list, BLK_DEVICE_ADD, dev);
>>> + mutex_unlock(&blk_notifier_lock);
>>> +
>>> + return 0;
>>> +}
>>
>> Nit: redundant newline.
>
> I'll remove the newline before the 'return' statement then, right?
Yup
>>> +device_initcall(blk_notifications_init);
>>> diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
>>> index b2f1362c4681..8d22ba03e3e1 100644
>>> --- a/include/linux/blkdev.h
>>> +++ b/include/linux/blkdev.h
>>> @@ -1687,4 +1687,12 @@ static inline bool bdev_can_atomic_write(struct block_device *bdev)
>>>
>>> #define DEFINE_IO_COMP_BATCH(name) struct io_comp_batch name = { }
>>>
>>> +
>>> +#ifdef CONFIG_BLOCK_NOTIFIERS
>>
>> #if defined(CONFIG_BLOCK_NOTIFIERS)
>>
>>> +#define BLK_DEVICE_ADD 1
>>> +#define BLK_DEVICE_REMOVE 2
>>> +void blk_register_notify(struct notifier_block *nb);
>>> +void blk_unregister_notify(struct notifier_block *nb);
>>> +#endif
>>
>> Surely these helpers should have a !CONFIG_BLOCK_NOTIFIERS failure case
>> definition? Either that, or dummies. As it stands, any caller would need
>> to check if it's enabled or not.
>
> Makes sense. I'll add dummies to the header and always define
> the macros for notification types.
Exactly
> Note that what I'm planning to do is to have the block nvmem provider
> select CONFIG_BLOCK_NOTIFIERS in Kconfig, as without that it simply
> won't work at all.
Right, but then someone else uses them for something else, and then
we'll need it anyway.
--
Jens Axboe
next prev parent reply other threads:[~2024-06-26 20:23 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-26 2:49 [PATCH v3 0/4] block: preparations for NVMEM provider Daniel Golle
2024-06-26 2:50 ` [PATCH v3 1/4] dt-bindings: block: add basic bindings for block devices Daniel Golle
2024-06-26 2:50 ` [PATCH v3 2/4] block: partitions: populate fwnode Daniel Golle
2024-06-26 19:43 ` Jens Axboe
2024-06-26 19:58 ` Daniel Golle
2024-06-26 20:09 ` Jens Axboe
2024-06-26 2:51 ` [PATCH v3 3/4] block: add support for notifications Daniel Golle
2024-06-26 19:46 ` Jens Axboe
2024-06-26 19:55 ` Daniel Golle
2024-06-26 20:23 ` Jens Axboe [this message]
2024-06-26 2:51 ` [PATCH v3 4/4] block: add new genhd flag GENHD_FL_NVMEM Daniel Golle
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=f533a5d6-94da-4ede-8d9f-e40df2425698@kernel.dk \
--to=axboe@kernel.dk \
--cc=adrian.hunter@intel.com \
--cc=asuk4.q@gmail.com \
--cc=avri.altman@wdc.com \
--cc=brauner@kernel.org \
--cc=christian@heusel.eu \
--cc=christophe.jaillet@wanadoo.fr \
--cc=conor+dt@kernel.org \
--cc=daniel@makrotopia.org \
--cc=dchinner@redhat.com \
--cc=devicetree@vger.kernel.org \
--cc=hare@suse.de \
--cc=hauke@hauke-m.de \
--cc=jack@suse.cz \
--cc=krzk+dt@kernel.org \
--cc=lilingfeng3@huawei.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=linux@weissschuh.net \
--cc=lizhijian@fujitsu.com \
--cc=mikko.rapeli@linaro.org \
--cc=min15.li@samsung.com \
--cc=nbd@nbd.name \
--cc=ricardo@marliere.net \
--cc=robh@kernel.org \
--cc=srinivas.kandagatla@linaro.org \
--cc=ulf.hansson@linaro.org \
--cc=victor.shih@genesyslogic.com.tw \
--cc=viro@zeniv.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).