[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1093565: partman: changing partition usage may leave the wrong type in partition table



Hi,

Pascal Hambourg <pascal@plouf.fr.eu.org> wrote (Sun, 26 Jan 2025 11:55:23 +0100):
> 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

partman-newworld and partman-prep are no longer in use AFAIK.

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

Any objections against this approach?

I would merge the above MR for partman-base as the starting point then, if 
noone objects...


Holger


-- 
Holger Wansing <hwansing@mailbox.org>
PGP-Fingerprint: 496A C6E8 1442 4B34 8508  3529 59F1 87CA 156E B076


Reply to: