From 614a362e7f7d3a5f4941a3a048b11b66493b8884 Mon Sep 17 00:00:00 2001 From: rslr Date: Wed, 4 Dec 2024 11:44:25 +0100 Subject: [PATCH] Append force flag to mkfs.btrfs (#187) --- pkg/plugins/layout.go | 3 +++ pkg/plugins/layout_test.go | 8 +++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/pkg/plugins/layout.go b/pkg/plugins/layout.go index 7a5594b5..6c480647 100644 --- a/pkg/plugins/layout.go +++ b/pkg/plugins/layout.go @@ -830,6 +830,9 @@ func (mkfs MkfsCall) buildOptions() ([]string, error) { opts = append(opts, "-L") opts = append(opts, mkfs.part.FSLabel) } + if mkfs.part.FileSystem == "btrfs" { + opts = append(opts, "-f") + } if len(mkfs.customOpts) > 0 { opts = append(opts, mkfs.customOpts...) } diff --git a/pkg/plugins/layout_test.go b/pkg/plugins/layout_test.go index db5258bb..d05216ac 100644 --- a/pkg/plugins/layout_test.go +++ b/pkg/plugins/layout_test.go @@ -232,6 +232,12 @@ var CmdsExpandPartXfs []console.CmdMock = []console.CmdMock{ } func CmdsAddPartByLabel(fs string) []console.CmdMock { + mkfsTmpl := "mkfs.%s -L %s /some/device5" + if (fs == "btrfs") { + // for btrfs adds force flag + mkfsTmpl = "mkfs.%s -L %s -f /some/device5" + } + return []console.CmdMock{ {Cmd: "udevadm settle"}, {Cmd: fmt.Sprintf("blkid -l --match-token LABEL=%s -o device", deviceLabel), Output: "/some/part"}, @@ -247,7 +253,7 @@ func CmdsAddPartByLabel(fs string) []console.CmdMock { {Cmd: "partprobe /some/device"}, sync, {Cmd: "udevadm settle"}, lsblkTypes, - {Cmd: fmt.Sprintf("mkfs.%s -L %s /some/device5", fs, label)}, + {Cmd: fmt.Sprintf(mkfsTmpl, fs, label)}, {Cmd: "udevadm settle"}, {Cmd: "partprobe /some/device"}, sync,