containerd / containerd/overlaybd

"Snapshot" of writable layers

Open
#223 9 comments 0 reactions 0 assignees View on GitHub
enhancement
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.