containerd / containerd/overlaybd
"Snapshot" of writable layers
- Dominant language
- C++
- Stars
- 410
- Forks
- 85
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 10
Description
### What is the version of your Overlaybd
_No response_
### What would you like to be added?
I would like for the `overlaybd-tcmu` binary to implement a TCMU reconfigure handler which:
1. Temporarily pauses IO on the block device
2. Seals the current writable layer
3. Creates a new empty writable layer
4. Reconfigures itself, so the sealed layer is now a lower layer and the upper layer points to the new empty layer
5. Resumes IO
Sealing is quick, so the IO pause shouldn't be noticeable for users of the block device.
### Why is this needed for Overlaybd?
OverlayBD will be the main storage back-end for https://github.com/hocus-dev/hocus (we're currently finishing the migration from raw sparse files to OverlayBD). We would have 2 use cases for reconfiguration:
1. Hocus spawns long-lived vm's (workspaces) which we would like to periodically back up to an OCI registry without recreating the vm's from scratch.
2. When fetching content from remote repositories we spawn an dedicated VM for that task which pulls changes from the remote repository into a new layer. If re-configuring tcmu was supported we could reuse the same block device and vm between pulls of remote repositories.
### Are you willing to submit PRs to contribute to this feature?
- [ ] Yes, I am willing to implement it.
Contributor guide
Assessment
This issue has not been assessed yet.