Skip to content

pkg/qemu: split qemu-img functions to imgutil #3498

@AkihiroSuda

Description

@AkihiroSuda

lima/pkg/qemu/qemu.go

Lines 130 to 154 in 1f787fb

func CreateDataDisk(dir, format string, size int) error {
dataDisk := filepath.Join(dir, filenames.DataDisk)
if _, err := os.Stat(dataDisk); err == nil || !errors.Is(err, fs.ErrNotExist) {
// datadisk already exists
return err
}
args := []string{"create", "-f", format, dataDisk, strconv.Itoa(size)}
cmd := exec.Command("qemu-img", args...)
if out, err := cmd.CombinedOutput(); err != nil {
return fmt.Errorf("failed to run %v: %q: %w", cmd.Args, string(out), err)
}
return nil
}
func ResizeDataDisk(dir, format string, size int) error {
dataDisk := filepath.Join(dir, filenames.DataDisk)
args := []string{"resize", "-f", format, dataDisk, strconv.Itoa(size)}
cmd := exec.Command("qemu-img", args...)
if out, err := cmd.CombinedOutput(); err != nil {
return fmt.Errorf("failed to run %v: %q: %w", cmd.Args, string(out), err)
}
return nil
}

These functions above should be moved from pkg/qemu to pkg/qemu/imgutil, so that cmd/limactl does not need to depend on pkg/qemu

err = qemu.CreateDataDisk(diskDir, format, int(diskSize))

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions