Skip to content

Conversation

AkihiroSuda
Copy link
Member

Fix #1706.

Now basedisk is immediately renamed/converted to diffdisk (not a diff despite the name) by the VM driver,
except when basedisk is an ISO9660 image.

Decoupling diffdisk from basedisk will eliminate the overhead of differencing I/O and save some disk space.

I cannot remember why I designed the disk to be split into basedisk and diffdisk.
Maybe it was to allow limactl factory-reset to retain the initial state, although the command was apparently never implemented in that way.
Maybe it was to allow multiple instances to share the same basedisk, although it was never implemented in that way, either.

@AkihiroSuda AkihiroSuda added this to the v2.0.0 milestone Oct 15, 2025
Fix issue 1706.

Now basedisk is immediately renamed/converted to diffdisk
(not a diff despite the name) by the VM driver,
except when basedisk is an ISO9660 image.

Decoupling diffdisk from basedisk will eliminate the overhead of differencing I/O
and save some disk space.

I cannot remember why I designed the disk to be split into basedisk and diffdisk.
Maybe it was to allow `limactl factory-reset` to retain the initial state,
although the command was apparently never implemented in that way.
Maybe it was to allow multiple instances to share the same basedisk,
although it was never implemented in that way, either.

Signed-off-by: Akihiro Suda <[email protected]>
@afbjorklund
Copy link
Member

afbjorklund commented Oct 15, 2025

I thought it was because of Copy-On-Write?

basedisk: QEMU QCOW2 Image (v3), 3758096384 bytes
diffdisk: QEMU QCOW2 Image (v3), has backing file (path /home/anders/.lima/default/basedisk), 107374182400 bytes

657M	basedisk
196K	diffdisk

It seemed like a natural improvement, to me.

https://github.com/afbjorklund/lima-the-hard-way#disk
Even if it is not actually needed, to keep the original...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

vz: remove "basedisk"; rename "diffdisk"

2 participants