use MiB for raw disk allocations

pull/8901/head
Michael Ryan Dempsey 2020-08-05 01:53:02 -07:00
parent 9ff030942d
commit 6ad47f9560
No known key found for this signature in database
GPG Key ID: D62C5716DA47D6C2
2 changed files with 9 additions and 2 deletions

View File

@ -23,6 +23,7 @@ import (
"path/filepath" "path/filepath"
"syscall" "syscall"
"github.com/docker/go-units"
"github.com/docker/machine/libmachine/drivers" "github.com/docker/machine/libmachine/drivers"
"github.com/docker/machine/libmachine/mcnflag" "github.com/docker/machine/libmachine/mcnflag"
"github.com/docker/machine/libmachine/mcnutils" "github.com/docker/machine/libmachine/mcnutils"
@ -52,6 +53,12 @@ func (d *CommonDriver) SetConfigFromFlags(flags drivers.DriverOptions) error {
return nil return nil
} }
func diskSizeInMiB(diskSizeMB int) int64 {
result := int64(diskSizeMB)
result *= units.MiB
return result
}
func createRawDiskImage(sshKeyPath, diskPath string, diskSizeMb int) error { func createRawDiskImage(sshKeyPath, diskPath string, diskSizeMb int) error {
tarBuf, err := mcnutils.MakeDiskImage(sshKeyPath) tarBuf, err := mcnutils.MakeDiskImage(sshKeyPath)
if err != nil { if err != nil {
@ -74,7 +81,7 @@ func createRawDiskImage(sshKeyPath, diskPath string, diskSizeMb int) error {
return errors.Wrapf(err, "closing file %s", diskPath) return errors.Wrapf(err, "closing file %s", diskPath)
} }
if err := os.Truncate(diskPath, int64(diskSizeMb*1000000)); err != nil { if err := os.Truncate(diskPath, diskSizeInMiB(diskSizeMb)); err != nil {
return errors.Wrap(err, "truncate") return errors.Wrap(err, "truncate")
} }
return nil return nil

View File

@ -36,7 +36,7 @@ func Test_createDiskImage(t *testing.T) {
diskPath := filepath.Join(tmpdir, "disk") diskPath := filepath.Join(tmpdir, "disk")
sizeInMb := 100 sizeInMb := 100
sizeInBytes := int64(sizeInMb) * 1000000 sizeInBytes := int64(104857600)
if err := createRawDiskImage(sshPath, diskPath, sizeInMb); err != nil { if err := createRawDiskImage(sshPath, diskPath, sizeInMb); err != nil {
t.Errorf("createDiskImage() error = %v", err) t.Errorf("createDiskImage() error = %v", err)
} }