Skip to content

Commit 1c7ca68

Browse files
committed
Add mkfs args to additional disks format
For instance when running glusterfs, it needs xfs args. Signed-off-by: Anders F Björklund <[email protected]>
1 parent 0181331 commit 1c7ca68

File tree

6 files changed

+15
-4
lines changed

6 files changed

+15
-4
lines changed

pkg/cidata/cidata.TEMPLATE.d/boot/05-lima-disks.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ for i in $(seq 0 $((LIMA_CIDATA_DISKS - 1))); do
1414
DEVICE_NAME="$(get_disk_var "$i" "DEVICE")"
1515
FORMAT_DISK="$(get_disk_var "$i" "FORMAT")"
1616
FORMAT_FSTYPE="$(get_disk_var "$i" "FSTYPE")"
17+
FORMAT_FSARGS="$(get_disk_var "$i" "FSARGS")"
1718

1819
test -n "$FORMAT_DISK" || FORMAT_DISK=true
1920
test -n "$FORMAT_FSTYPE" || FORMAT_FSTYPE=ext4
@@ -22,7 +23,8 @@ for i in $(seq 0 $((LIMA_CIDATA_DISKS - 1))); do
2223
if [[ ! -b "/dev/disk/by-label/lima-${DISK_NAME}" ]]; then
2324
if $FORMAT_DISK; then
2425
echo 'type=linux' | sfdisk --label gpt "/dev/${DEVICE_NAME}"
25-
mkfs.$FORMAT_FSTYPE -L "lima-${DISK_NAME}" "/dev/${DEVICE_NAME}1"
26+
# shellcheck disable=SC2086
27+
mkfs.$FORMAT_FSTYPE $FORMAT_FSARGS -L "lima-${DISK_NAME}" "/dev/${DEVICE_NAME}1"
2628
fi
2729
fi
2830

pkg/cidata/cidata.TEMPLATE.d/lima.env

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ LIMA_CIDATA_DISK_{{$i}}_NAME={{$disk.Name}}
1313
LIMA_CIDATA_DISK_{{$i}}_DEVICE={{$disk.Device}}
1414
LIMA_CIDATA_DISK_{{$i}}_FORMAT={{$disk.Format}}
1515
LIMA_CIDATA_DISK_{{$i}}_FSTYPE={{$disk.FSType}}
16+
LIMA_CIDATA_DISK_{{$i}}_FSARGS={{range $j, $arg := $disk.FSArgs}}{{if $j}} {{end}}{{$arg}}{{end}}
1617
{{- end}}
1718
LIMA_CIDATA_GUEST_INSTALL_PREFIX={{ .GuestInstallPrefix }}
1819
{{- if .Containerd.User}}

pkg/cidata/cidata.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,7 @@ func GenerateISO9660(instDir, name string, y *limayaml.LimaYAML, udpDNSLocalPort
217217
Device: diskDeviceNameFromOrder(i),
218218
Format: format,
219219
FSType: fstype,
220+
FSArgs: d.FSArgs,
220221
})
221222
}
222223

pkg/cidata/template.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ type Disk struct {
5050
Device string
5151
Format bool
5252
FSType string
53+
FSArgs []string
5354
}
5455
type TemplateArgs struct {
5556
Name string // instance name

pkg/limayaml/limayaml.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,9 +80,10 @@ type Image struct {
8080
}
8181

8282
type Disk struct {
83-
Name string `yaml:"name" json:"name"` // REQUIRED
84-
Format *bool `yaml:"format,omitempty" json:"format,omitempty"`
85-
FSType *string `yaml:"fsType,omitempty" json:"fsType,omitempty"`
83+
Name string `yaml:"name" json:"name"` // REQUIRED
84+
Format *bool `yaml:"format,omitempty" json:"format,omitempty"`
85+
FSType *string `yaml:"fsType,omitempty" json:"fsType,omitempty"`
86+
FSArgs []string `yaml:"fsArgs,omitempty" json:"fsArgs,omitempty"`
8687
}
8788

8889
type Mount struct {

pkg/limayaml/load_test.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ additionalDisks:
4242
assert.Equal(t, y.AdditionalDisks[0].Name, "name")
4343
assert.Assert(t, y.AdditionalDisks[0].Format == nil)
4444
assert.Assert(t, y.AdditionalDisks[0].FSType == nil)
45+
assert.Assert(t, y.AdditionalDisks[0].FSArgs == nil)
4546
}
4647

4748
func TestLoadDiskStruct(t *testing.T) {
@@ -50,6 +51,7 @@ additionalDisks:
5051
- name: "name"
5152
format: false
5253
fsType: "xfs"
54+
fsArgs: ["-i","size=512"]
5355
`
5456
y, err := Load([]byte(s), "disk.yaml")
5557
assert.NilError(t, err)
@@ -59,4 +61,7 @@ additionalDisks:
5961
assert.Equal(t, *y.AdditionalDisks[0].Format, false)
6062
assert.Assert(t, y.AdditionalDisks[0].FSType != nil)
6163
assert.Equal(t, *y.AdditionalDisks[0].FSType, "xfs")
64+
assert.Assert(t, len(y.AdditionalDisks[0].FSArgs) == 2)
65+
assert.Equal(t, y.AdditionalDisks[0].FSArgs[0], "-i")
66+
assert.Equal(t, y.AdditionalDisks[0].FSArgs[1], "size=512")
6267
}

0 commit comments

Comments
 (0)