On 23/01/2025 at 12:45, Pascal Hambourg wrote:
On 20/01/2025 at 00:01, Pascal Hambourg wrote:

Possible mitigations/solutions:
(...)
3) Modify parted_server to set only the last type flag when processing a SET_FLAGS command (all scripts send the new flag last).
Advantage: no need to change affected packages.
Downsides: changes SET_FLAGS behaviour; needs to be updated whenever libparted supports a new flag.

4) Modify parted_server to add a new SET_FLAG command which sets a single flag and use it in synchronization scripts.
Downside: requires a change in all affected packages.

I think solution #3 is the best because it requires changes only in partman-base to fully fix the issue.

At least in the short term (for trixie ?). But I think solution #4 would be better, simpler and more reliable in the long term without the need to classify flags.

And it does not change the SET_FLAGS command behaviour, so no unexpected side-effect can happen.

I implemented the SET_FLAG command in parted_server and tested it successfully with the "boot" flag.

It does not mark the partition table changed if the flag is unknown, invalid for the partition or already has the desired state, so no need to check if the flag is valid nor its current state. When a flag is set on, conflicting flags are implicitly set off, so no need to explicitly do it. Just send the command with the desired flag and state.

MR created: <https://salsa.debian.org/installer-team/partman-base/-/merge_requests/13>

The following packages must be updated to take advantage of the new SET_FLAG command:

partman-auto
partman-basicmethods
partman-cros
partman-efi
partman-lvm
partman-md
partman-newworld
partman-partitioning
partman-prep

I have updates ready for each of them. Example: <https://salsa.debian.org/pham/partman-partitioning/-/commits/set_flag>

Reply via email to