mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Sascha Hauer <s.hauer@pengutronix.de>
To: Barebox List <barebox@lists.infradead.org>
Subject: [PATCH 0/7] Detect partition changes at runtime
Date: Thu, 15 Feb 2024 08:47:50 +0100	[thread overview]
Message-ID: <20240215074757.960200-1-s.hauer@pengutronix.de> (raw)

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.

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(-)

-- 
2.39.2




             reply	other threads:[~2024-02-15  7:48 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-15  7:47 Sascha Hauer [this message]
2024-02-15  7:47 ` [PATCH 1/7] fs: move cdev open count to cdev_open()/cdev_close() Sascha Hauer
2024-02-15  7:47 ` [PATCH 2/7] common: partitions: efi: fix memory leak Sascha Hauer
2024-02-15  7:47 ` [PATCH 3/7] partition: allow to reparse a partition table Sascha Hauer
2024-02-15 11:07   ` Marco Felsch
2024-02-16 11:14     ` Sascha Hauer
2024-02-15  7:47 ` [PATCH 4/7] block: reparse partition table when necessary Sascha Hauer
2024-02-15 12:52   ` Marco Felsch
2024-02-16 11:16     ` Sascha Hauer
2024-02-15  7:47 ` [PATCH 5/7] fastboot: pass list to fb_addvar() Sascha Hauer
2024-02-15  7:47 ` [PATCH 6/7] fastboot: add function to free a list of fastboot variables Sascha Hauer
2024-02-15  7:47 ` [PATCH 7/7] fastboot: evaluate fastboot partitions when used Sascha Hauer
2024-02-15 12:51   ` Marco Felsch
2024-02-16 11:15     ` Sascha Hauer
2024-02-15  8:31 ` [PATCH 0/7] Detect partition changes at runtime Ahmad Fatoum
2024-02-15 12:54 ` Marco Felsch
2024-02-16 11:13 ` Sascha Hauer

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=20240215074757.960200-1-s.hauer@pengutronix.de \
    --to=s.hauer@pengutronix.de \
    --cc=barebox@lists.infradead.org \
    /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