Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

snapshot feature for the shared storage device #255

Open
chombourger opened this issue Dec 5, 2022 · 2 comments
Open

snapshot feature for the shared storage device #255

chombourger opened this issue Dec 5, 2022 · 2 comments

Comments

@chombourger
Copy link
Collaborator

Today I was presented an issue that only occurs on first boot of the system. Needless to say that it would be a pain to have to rewrite your OS image each time you want to reboot into that initial state. I was consequently thinking that it could be useful to have our USB Mass Storage gadget expose a DM-managed block device instead of the actual block device initialized with storage write. Writes to the emulated USB device would go to a separate block device giving us the ability to revert to that initial state at any time.

@jan-kiszka
Copy link
Contributor

Sounds useful. Basically model that after qemu's capabilities: Boot up in snapshot mode, perform changes, powerdown, and then have the chance to commit them or to drop them again. I'm working like that with some of my qemu testing machines.

@chombourger
Copy link
Collaborator Author

Sounds useful. Basically model that after qemu's capabilities: Boot up in snapshot mode, perform changes, powerdown, and then have the chance to commit them or to drop them again. I'm working like that with some of my qemu testing machines.

good point about qemu. we could not add this capability to setups using USB Functions but also to our QEMU configuration so we end up with the same storage APIs (such as storage commit and storage revert)

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

No branches or pull requests

2 participants