Skip to content

Commit 089349c

Browse files
committed
vz: show progressbar during converting qcow2 to raw
Signed-off-by: Akihiro Suda <[email protected]>
1 parent 7b24c3b commit 089349c

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

pkg/nativeimgutil/nativeimgutil.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import (
1414
"github.com/lima-vm/go-qcow2reader/image/qcow2"
1515
"github.com/lima-vm/go-qcow2reader/image/raw"
1616
"github.com/lima-vm/lima/pkg/osutil"
17+
"github.com/lima-vm/lima/pkg/progressbar"
1718
"github.com/sirupsen/logrus"
1819
)
1920

@@ -67,8 +68,15 @@ func ConvertToRaw(source, dest string, size *int64, allowSourceWithBackingFile b
6768

6869
// Copy
6970
srcImgR := io.NewSectionReader(srcImg, 0, srcImg.Size())
71+
bar, err := progressbar.New(srcImg.Size())
72+
if err != nil {
73+
return err
74+
}
7075
const bufSize = 1024 * 1024
71-
if copied, err := copySparse(destTmpF, srcImgR, bufSize); err != nil {
76+
bar.Start()
77+
copied, err := copySparse(destTmpF, bar.NewProxyReader(srcImgR), bufSize)
78+
bar.Finish()
79+
if err != nil {
7280
return fmt.Errorf("failed to call copySparse(), bufSize=%d, copied=%d: %w", bufSize, copied, err)
7381
}
7482

0 commit comments

Comments
 (0)