Skip to content

Commit d83b99a

Browse files
committed
fix: for ISO base disk remove premature return after creating and empty volume for diff disk 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 d83b99a

File tree

2 files changed

+9
-11
lines changed

2 files changed

+9
-11
lines changed

pkg/driverutil/disk.go

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -38,23 +38,21 @@ func EnsureDisk(ctx context.Context, instDir, diskSize string, diskImageFormat i
3838
if err != nil {
3939
return err
4040
}
41+
destDisk := baseDisk
4142
if isBaseDiskISO {
42-
// Create an empty data volume (sparse)
43+
destDisk = diffDisk
44+
45+
// Create an empty data volume for the diff disk
4346
diffDiskF, err := os.Create(diffDisk)
4447
if err != nil {
4548
return err
4649
}
4750

48-
err = diskUtil.MakeSparse(ctx, diffDiskF, 0)
49-
if err != nil {
50-
diffDiskF.Close()
51-
return fmt.Errorf("failed to create sparse diff disk %q: %w", diffDisk, err)
52-
}
53-
return diffDiskF.Close()
51+
diffDiskF.Close()
5452
}
5553
// Check whether to use ASIF format
5654

57-
if err = diskUtil.Convert(ctx, diskImageFormat, baseDisk, diffDisk, &diskSizeInBytes, false); err != nil {
55+
if err = diskUtil.Convert(ctx, diskImageFormat, destDisk, diffDisk, &diskSizeInBytes, false); err != nil {
5856
return fmt.Errorf("failed to convert %q to a disk %q: %w", baseDisk, diffDisk, err)
5957
}
6058
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)