On Tue, Sep 24, 2024 at 12:17:36PM +0200, Christian Marangi wrote: > On Mon, Sep 23, 2024 at 11:34:53PM -0700, Christoph Hellwig wrote: > > On Mon, Sep 23, 2024 at 12:59:32PM +0200, Christian Marangi wrote: > > > +#define BOOT0_STR "boot0" > > > +#define BOOT1_STR "boot1" > > > + > > > > This boot0/1 stuff looks like black magic, so it should probably be > > documented at very least. > > > > It is but from what I have read in the spec for flash in general (this > is not limited to eMMC but also apply to UFS) these are hardware > partition. If the version is high enough these are always present and > have boot0 and boot1 name hardcoded by the driver. How does this belong into generic block layer code? > > > + partitions_np = get_partitions_node(disk_np, > > > + state->disk->disk_name); > > > > disk->disk_name is not a stable identifier and can change from boot to > > boot due to async probing. You'll need to check a uuid or label instead. > > This is really for the 2 special partition up to check the suffix, we > don't really care about the name. I guess it's acceptable to use > unstable identifier? No. ->disk_name is in no way reliable, we can't hardcode that into a partition parser.