Skip to content

Commit

Permalink
repart: Default to swap format for swap partitions
Browse files Browse the repository at this point in the history
  • Loading branch information
DaanDeMeyer committed Aug 16, 2023
1 parent 409986e commit 973d6be
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 5 deletions.
19 changes: 14 additions & 5 deletions src/partition/repart.c
Original file line number Diff line number Diff line change
Expand Up @@ -1733,11 +1733,20 @@ static int partition_read_definition(Partition *p, const char *path, const char
return log_syntax(NULL, LOG_ERR, path, 1, SYNTHETIC_ERRNO(EINVAL),
"Format=swap and CopyFiles= cannot be combined, refusing.");

if (!p->format && (!strv_isempty(p->copy_files) || !strv_isempty(p->make_directories) || (p->encrypt != ENCRYPT_OFF && !(p->copy_blocks_path || p->copy_blocks_auto)))) {
/* Pick "vfat" as file system for esp and xbootldr partitions, otherwise default to "ext4". */
p->format = strdup(IN_SET(p->type.designator, PARTITION_ESP, PARTITION_XBOOTLDR) ? "vfat" : "ext4");
if (!p->format)
return log_oom();
if (!p->format) {
const char *format = NULL;

if (!strv_isempty(p->copy_files) || !strv_isempty(p->make_directories) || (p->encrypt != ENCRYPT_OFF && !(p->copy_blocks_path || p->copy_blocks_auto)))
/* Pick "vfat" as file system for esp and xbootldr partitions, otherwise default to "ext4". */
format = IN_SET(p->type.designator, PARTITION_ESP, PARTITION_XBOOTLDR) ? "vfat" : "ext4";
else if (p->type.designator == PARTITION_SWAP)
format = "swap";

if (format) {
p->format = strdup(format);
if (!p->format)
return log_oom();
}
}

if (p->minimize != MINIMIZE_OFF && !p->format && p->verity != VERITY_HASH)
Expand Down
1 change: 1 addition & 0 deletions test/TEST-58-REPART/test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ test_append_files() {
fi

inst_binary mcopy
image_install mkswap
if command -v openssl >/dev/null 2>&1; then
inst_binary openssl
fi
Expand Down

0 comments on commit 973d6be

Please sign in to comment.