Skip to content

[vminitd]: api for freeze/thaw filesystem operations#685

Open
saehejkang wants to merge 1 commit into
apple:mainfrom
saehejkang:add-vminit-api-freeze-thaw
Open

[vminitd]: api for freeze/thaw filesystem operations#685
saehejkang wants to merge 1 commit into
apple:mainfrom
saehejkang:add-vminit-api-freeze-thaw

Conversation

@saehejkang

Copy link
Copy Markdown
Contributor

Addition of vminitd API for freeze/thaw filesystem operations

Closes #660

@jglogan

jglogan commented Apr 14, 2026

Copy link
Copy Markdown
Contributor

@dcantah wdyt?

@dcantah

dcantah commented Apr 14, 2026

Copy link
Copy Markdown
Contributor

Looks good!

Comment thread vminitd/Sources/vminitd/Server+GRPC.swift Outdated
Comment thread vminitd/Sources/vminitd/Server+GRPC.swift Outdated
Comment thread vminitd/Sources/vminitd/Server+GRPC.swift Outdated
Comment thread vminitd/Sources/vminitd/Server+GRPC.swift Outdated
Comment thread vminitd/Sources/vminitd/Server+GRPC.swift Outdated
Comment thread vminitd/Sources/vminitd/Server+GRPC.swift Outdated
@saehejkang saehejkang marked this pull request as ready for review April 22, 2026 23:22
@saehejkang

Copy link
Copy Markdown
Contributor Author

Marking this ready for review as it is mainly feature complete.


@dcantah @jglogan

Is there a proper way to test these changes? I don't see any testing patterns for the vminitd api and I am sure there are some kinks that I need to fix.

@jglogan

jglogan commented Apr 23, 2026

Copy link
Copy Markdown
Contributor

@saehejkang Congrats! And it's a good question.

I'm wondering if you could make a copy of one of the really simple "run container and exec a command" integration tests and extend it so that it does this instead:

  • create an ext4 disk image file with a blank filesystem on it, defer its deletion
  • run the container, with the disk image mounted to /data
  • run a freeze operation
  • exec an echo hello > /data/hello.txt
  • copy (clone) the disk image file, defer its deletion
  • run a thaw operation
  • stop the container
  • run another container, with the clone mounted to '/data'
  • exec dmesg, ensure that the /data filesystem does not need fsck and mounted cleanly
  • exec an ls /data, ensure that hello.txt does not exist
  • stop the container

@dcantah

dcantah commented Apr 30, 2026

Copy link
Copy Markdown
Contributor

You'll need to run make fmt here

@saehejkang saehejkang force-pushed the add-vminit-api-freeze-thaw branch from f01ce95 to b7fbbe5 Compare June 2, 2026 04:55
@saehejkang

Copy link
Copy Markdown
Contributor Author

@jglogan @dcantah ready for another review 🙏🏽

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Request]: vminit API for block device operations, initially for freeze/thaw.

5 participants