Re: [PATCH 5.15] dm init: add dm-mod.waitfor to wait for asynchronously probed block devices

From: Mike Snitzer
Date: Sun Jul 16 2023 - 11:37:30 EST


On Sun, Jul 16, 2023, 11:16 AM Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:

> On Thu, Jul 13, 2023 at 01:58:37PM +0800, Mark-PK Tsai wrote:
> > From: Peter Korsgaard <peter@xxxxxxxxxxxxx>
> >
> > Just calling wait_for_device_probe() is not enough to ensure that
> > asynchronously probed block devices are available (E.G. mmc, usb), so
> > add a "dm-mod.waitfor=<device1>[,..,<deviceN>]" parameter to get
> > dm-init to explicitly wait for specific block devices before
> > initializing the tables with logic similar to the rootwait logic that
> > was introduced with commit cc1ed7542c8c ("init: wait for
> > asynchronously scanned block devices").
> >
> > E.G. with dm-verity on mmc using:
> > dm-mod.waitfor="PARTLABEL=hash-a,PARTLABEL=root-a"
> >
> > [ 0.671671] device-mapper: init: waiting for all devices to be
> available before creating mapped devices
> > [ 0.671679] device-mapper: init: waiting for device PARTLABEL=hash-a
> ...
> > [ 0.710695] mmc0: new HS200 MMC card at address 0001
> > [ 0.711158] mmcblk0: mmc0:0001 004GA0 3.69 GiB
> > [ 0.715954] mmcblk0boot0: mmc0:0001 004GA0 partition 1 2.00 MiB
> > [ 0.722085] mmcblk0boot1: mmc0:0001 004GA0 partition 2 2.00 MiB
> > [ 0.728093] mmcblk0rpmb: mmc0:0001 004GA0 partition 3 512 KiB,
> chardev (249:0)
> > [ 0.738274] mmcblk0: p1 p2 p3 p4 p5 p6 p7
> > [ 0.751282] device-mapper: init: waiting for device PARTLABEL=root-a
> ...
> > [ 0.751306] device-mapper: init: all devices available
> > [ 0.751683] device-mapper: verity: sha256 using implementation
> "sha256-generic"
> > [ 0.759344] device-mapper: ioctl: dm-0 (vroot) is ready
> > [ 0.766540] VFS: Mounted root (squashfs filesystem) readonly on
> device 254:0.
> >
> > Signed-off-by: Peter Korsgaard <peter@xxxxxxxxxxxxx>
> > Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
> > Cc: stable@xxxxxxxxxxxxxxx
> > Signed-off-by: Mark-PK Tsai <mark-pk.tsai@xxxxxxxxxxxx>
> > ---
> > .../admin-guide/device-mapper/dm-init.rst | 8 +++++++
> > drivers/md/dm-init.c | 22 ++++++++++++++++++-
> > 2 files changed, 29 insertions(+), 1 deletion(-)
>
> What is the git commit id of this change in Linus's tree?
>
> thanks,
>
> greg k-h
>
>

Hey Greg,

This change shouldn't be backported to stable@. It is a feature, if
Mark-PK feels they need it older kernels they need to carry the change
in their own tree. Or at a minimum they need to explain why this
change is warranted in stable@.

But to answer your original question the upstream commit is:

035641b01e72 dm init: add dm-mod.waitfor to wait for asynchronously probed block devices

Thanks,
Mike