bug#80093: libparted: gpt: Partition type is not updated after changing file system

Pascal Hambourg <[email protected]> Mon, 29 Dec 2025 14:03:19 +0100
Newsgroups gmane.comp.gnu.parted.bugs
Organization Plouf !
Message-ID <[email protected]>
Package: parted
Version: 3.6
Severity: minor

Dear maintainer,

In a GPT partition table, when the file system type of a partition is 
set to a Microsoft filesystem (ex: FAT) with ped_partition_set_system(), 
gpt_partition_set_system() sets the partition type to 
PARTITION_BASIC_DATA_GUID (Microsoft basic data partition type GUID), 
resulting in the "msftdata" flag being set. As expected.

However when a partition has the PARTITION_BASIC_DATA_GUID type, if the 
filesystem type is changed to a non-Microsoft filesystem (ex: ext4), 
gpt_partition_set_system() does not reset the partition type to the 
associated partition type GUID (ex: PARTITION_LINUX_DATA_GUID), 
resulting in the "msftdata" flag still being set.

It is the same with the PARTITION_SWAP_GUID partition type.

This is caused by PARTITION_BASIC_DATA_GUID and PARTITION_SWAP_GUID 
being included in skip_set_system_guids[]. Is there a reason for this or 
is it a bug ? Shouldn't all filesystem-specific partition types be 
excluded from this list ?