[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Y3zCdJr5dKsADsnM@infradead.org>
Date: Tue, 22 Nov 2022 04:37:08 -0800
From: Christoph Hellwig <hch@...radead.org>
To: Daniel Golle <daniel@...rotopia.org>
Cc: Christoph Hellwig <hch@...radead.org>,
Richard Weinberger <richard@....at>,
Matthew Wilcox <willy@...radead.org>,
Jens Axboe <axboe@...nel.dk>,
"Martin K. Petersen" <martin.petersen@...cle.com>,
Chaitanya Kulkarni <kch@...dia.com>,
Wolfram Sang <wsa+renesas@...g-engineering.com>,
linux-block@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [RFC PATCH 1/4] init: move block device helpers from
init/do_mounts.c
On Sat, Nov 19, 2022 at 04:03:11PM +0000, Daniel Golle wrote:
> That works, but has slightly less utility value than the partition
> parser approach as in this way I cannot easily populate the PARTNAME
> uevent which can later help userspace to identify a device by the FIT
> subimage name -- I'd have to either invent a new bus_type or
> device_type, both seem inappropriate and have unwanted side effects.
> Or am I missing something and there is a way to use add_uevent_var()
> for a disk_type device?
You're not exposing a partition here - this is an image format that
sits in a partition and we should not pretend that is a partition.
> However, I don't see a way to avoid using (or duplicating)
> devt_from_devname() to select the lower device somehow without having
> to probe and parse *all* block devices present (which is, from what I
> understood, what you want to avoid, and I agree that it is more safe to
> not do that...)
>
> Can you or anyone give some advise on how this should be done?
Just set the block driver up from an initramfs, like we do for all
modern stackable drivers.
> Yet another (imho not terrible) problem is removal of the lower device.
> Many of the supported SBC use a micro SD card to boot, which can be
> removed by the user while the system is running (which is generally not
> a good idea, but anyway). For partitions this is handled automatically
> by blk_drop_partitions() called directly from genhd.c.
> I'm currently playing with doing something similar using the bus device
> removal notification, but it doesn't seem to work for all cases, e.g.
> mmcblk device do not seem to have the ->bus pointer populated at all
> (ie. disk_to_dev(disk)->bus == NULL for mmcblk devices).
I have WIP patches that allow the claimer of a block device get
resize and removal notification. It's not going to land for 6.2,
but I hope I have it ready in time for the next merge window.
Powered by blists - more mailing lists