[PATCH 0/7] Detect partition changes at runtime
Ahmad Fatoum
a.fatoum at pengutronix.de
Thu Feb 15 00:31:43 PST 2024
Hello Sascha,
On 15.02.24 08:47, Sascha Hauer wrote:
> With this series barebox can detect partition table changes at runtime
> and reparse the partition table in that case. With this it's possible
> for example to write an image to a SD card and mount partitions directly
> afterwards without restarting barebox.
That's cool!
How much extra effort do you think would it be to support plug-and-play
of SD-Cards? CONFIG_MCI_POLLER or something would poll card detect and
if it disappears: deregister all partitions and if it appears and probing
is enabled for the device (or it was previously probed), reinit the card
and re-enable the partition table.
That would be a nice stress test for the new functionality :-)
Cheers,
Ahmad
>
> The fastboot code is also changed to check for existing partitions when
> they are actually used and no longer during initialization time of the
> gadget. With this it becomes possible to expose a full device via
> fastboot and also some not yet existing partitions. When the full device
> is written to one can then write to a (newly created) partition directly
> afterwards.
>
> The reparsing of the partition table only works when none of the
> partitions are mounted or otherwise opened. When a partition is open
> when the partition table changes, then barebox will continue with
> the old partition table just like Linux does.
>
> Sascha
>
> Sascha Hauer (7):
> fs: move cdev open count to cdev_open()/cdev_close()
> common: partitions: efi: fix memory leak
> partition: allow to reparse a partition table
> block: reparse partition table when necessary
> fastboot: pass list to fb_addvar()
> fastboot: add function to free a list of fastboot variables
> fastboot: evaluate fastboot partitions when used
>
> common/block.c | 30 +++++++++++++++++++--
> common/fastboot.c | 59 ++++++++++++++++++++++++++---------------
> common/partitions.c | 20 ++++++++++++++
> common/partitions/efi.c | 10 +++----
> fs/devfs-core.c | 13 +++++++--
> fs/devfs.c | 4 ---
> include/block.h | 2 ++
> include/disks.h | 1 +
> 8 files changed, 104 insertions(+), 35 deletions(-)
>
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list