Skip to content

Commit 260ba36

Browse files
committed
fix: for ISO base disk remove premature return after closing sparse diff file so Convert executes.
Ensure diffDisk is converted to the requested format instead of staying sparse. Signed-off-by: ashwat287 <ashwatpas@gmail.com>
1 parent 5e906fe commit 260ba36

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

pkg/driverutil/disk.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,23 +38,25 @@ func EnsureDisk(ctx context.Context, instDir, diskSize string, diskImageFormat i
3838
if err != nil {
3939
return err
4040
}
41+
destDisk := baseDisk
4142
if isBaseDiskISO {
43+
destDisk = diffDisk
4244
// Create an empty data volume (sparse)
4345
diffDiskF, err := os.Create(diffDisk)
4446
if err != nil {
4547
return err
4648
}
4749

48-
err = diskUtil.MakeSparse(ctx, diffDiskF, 0)
50+
err = diskUtil.MakeSparse(ctx, diffDiskF, diskSizeInBytes)
4951
if err != nil {
5052
diffDiskF.Close()
5153
return fmt.Errorf("failed to create sparse diff disk %q: %w", diffDisk, err)
5254
}
53-
return diffDiskF.Close()
55+
diffDiskF.Close()
5456
}
5557
// Check whether to use ASIF format
5658

57-
if err = diskUtil.Convert(ctx, diskImageFormat, baseDisk, diffDisk, &diskSizeInBytes, false); err != nil {
59+
if err = diskUtil.Convert(ctx, diskImageFormat, destDisk, diffDisk, &diskSizeInBytes, false); err != nil {
5860
return fmt.Errorf("failed to convert %q to a disk %q: %w", baseDisk, diffDisk, err)
5961
}
6062
return err

pkg/imgutil/nativeimgutil/nativeimgutil.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,10 @@ func convertTo(destType image.Type, source, dest string, size *int64, allowSourc
6262
logrus.Infof("Converting %q (%s) to a %s disk %q", source, srcImg.Type(), destType, dest)
6363
switch t := srcImg.Type(); t {
6464
case raw.Type:
65-
if err = srcF.Close(); err != nil {
66-
return err
67-
}
6865
if destType == raw.Type {
66+
if err = srcF.Close(); err != nil {
67+
return err
68+
}
6969
return convertRawToRaw(source, dest, size)
7070
}
7171
case qcow2.Type:

0 commit comments

Comments
 (0)