Skip to content

Commit 61bb7ef

Browse files
authored
Merge pull request #3523 from jonas-peter/decoupling_imgutil
decoupling imgutils from filenams
2 parents f2100aa + 59bc4dd commit 61bb7ef

File tree

3 files changed

+19
-25
lines changed

3 files changed

+19
-25
lines changed

cmd/limactl/disk.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -111,10 +111,11 @@ func diskCreateAction(cmd *cobra.Command, args []string) error {
111111
}
112112

113113
// qemu may not be available, use it only if needed.
114+
dataDisk := filepath.Join(diskDir, filenames.DataDisk)
114115
if format == "raw" {
115-
err = nativeimgutil.CreateRawDataDisk(diskDir, int(diskSize))
116+
err = nativeimgutil.CreateRawDisk(dataDisk, int(diskSize))
116117
} else {
117-
err = imgutil.CreateDataDisk(diskDir, format, int(diskSize))
118+
err = imgutil.CreateDisk(dataDisk, format, int(diskSize))
118119
}
119120
if err != nil {
120121
rerr := os.RemoveAll(diskDir)
@@ -407,10 +408,11 @@ func diskResizeAction(cmd *cobra.Command, args []string) error {
407408
}
408409

409410
// qemu may not be available, use it only if needed.
411+
dataDisk := filepath.Join(disk.Dir, filenames.DataDisk)
410412
if disk.Format == "raw" {
411-
err = nativeimgutil.ResizeRawDataDisk(disk.Dir, int(diskSize))
413+
err = nativeimgutil.ResizeRawDisk(dataDisk, int(diskSize))
412414
} else {
413-
err = imgutil.ResizeDataDisk(disk.Dir, disk.Format, int(diskSize))
415+
err = imgutil.ResizeDisk(dataDisk, disk.Format, int(diskSize))
414416
}
415417
if err != nil {
416418
return fmt.Errorf("failed to resize disk %q: %w", diskName, err)

pkg/nativeimgutil/nativeimgutil.go

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ import (
1919
"github.com/lima-vm/go-qcow2reader/image/qcow2"
2020
"github.com/lima-vm/go-qcow2reader/image/raw"
2121
"github.com/lima-vm/lima/pkg/progressbar"
22-
"github.com/lima-vm/lima/pkg/store/filenames"
2322
"github.com/sirupsen/logrus"
2423
)
2524

@@ -34,13 +33,12 @@ func RoundUp(size int) int {
3433
return sectors * sectorSize
3534
}
3635

37-
// CreateRawDataDisk creates an empty raw data disk.
38-
func CreateRawDataDisk(dir string, size int) error {
39-
dataDisk := filepath.Join(dir, filenames.DataDisk)
40-
if _, err := os.Stat(dataDisk); err == nil || !errors.Is(err, fs.ErrNotExist) {
36+
// CreateRawDisk creates an empty raw data disk.
37+
func CreateRawDisk(disk string, size int) error {
38+
if _, err := os.Stat(disk); err == nil || !errors.Is(err, fs.ErrNotExist) {
4139
return err
4240
}
43-
f, err := os.Create(dataDisk)
41+
f, err := os.Create(disk)
4442
if err != nil {
4543
return err
4644
}
@@ -49,11 +47,10 @@ func CreateRawDataDisk(dir string, size int) error {
4947
return f.Truncate(int64(roundedSize))
5048
}
5149

52-
// ResizeRawDataDisk resizes a raw data disk.
53-
func ResizeRawDataDisk(dir string, size int) error {
54-
dataDisk := filepath.Join(dir, filenames.DataDisk)
50+
// ResizeRawDisk resizes a raw data disk.
51+
func ResizeRawDisk(disk string, size int) error {
5552
roundedSize := RoundUp(size)
56-
return os.Truncate(dataDisk, int64(roundedSize))
53+
return os.Truncate(disk, int64(roundedSize))
5754
}
5855

5956
// ConvertToRaw converts a source disk into a raw disk.

pkg/qemu/imgutil/imgutil.go

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,8 @@ import (
1111
"io/fs"
1212
"os"
1313
"os/exec"
14-
"path/filepath"
1514
"strconv"
1615

17-
"github.com/lima-vm/lima/pkg/store/filenames"
1816
"github.com/sirupsen/logrus"
1917
)
2018

@@ -28,25 +26,22 @@ type InfoFormatSpecific struct {
2826
Data json.RawMessage `json:"data,omitempty"` // since QEMU 1.7
2927
}
3028

31-
func CreateDataDisk(dir, format string, size int) error {
32-
dataDisk := filepath.Join(dir, filenames.DataDisk)
33-
if _, err := os.Stat(dataDisk); err == nil || !errors.Is(err, fs.ErrNotExist) {
34-
// datadisk already exists
29+
func CreateDisk(disk, format string, size int) error {
30+
if _, err := os.Stat(disk); err == nil || !errors.Is(err, fs.ErrNotExist) {
31+
// disk already exists
3532
return err
3633
}
3734

38-
args := []string{"create", "-f", format, dataDisk, strconv.Itoa(size)}
35+
args := []string{"create", "-f", format, disk, strconv.Itoa(size)}
3936
cmd := exec.Command("qemu-img", args...)
4037
if out, err := cmd.CombinedOutput(); err != nil {
4138
return fmt.Errorf("failed to run %v: %q: %w", cmd.Args, string(out), err)
4239
}
4340
return nil
4441
}
4542

46-
func ResizeDataDisk(dir, format string, size int) error {
47-
dataDisk := filepath.Join(dir, filenames.DataDisk)
48-
49-
args := []string{"resize", "-f", format, dataDisk, strconv.Itoa(size)}
43+
func ResizeDisk(disk, format string, size int) error {
44+
args := []string{"resize", "-f", format, disk, strconv.Itoa(size)}
5045
cmd := exec.Command("qemu-img", args...)
5146
if out, err := cmd.CombinedOutput(); err != nil {
5247
return fmt.Errorf("failed to run %v: %q: %w", cmd.Args, string(out), err)

0 commit comments

Comments
 (0)