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

Create a dedicated ZFS SR driver to avoid losing VDI metadata #401

Closed
stormi opened this issue Jun 15, 2020 · 0 comments
Closed

Create a dedicated ZFS SR driver to avoid losing VDI metadata #401

stormi opened this issue Jun 15, 2020 · 0 comments
Assignees
Labels

Comments

@stormi
Copy link
Member

stormi commented Jun 15, 2020

Currently, we allow mounting ZFS through the file SR driver, which is convenient because it does not need to know how the data is mounted into the directory.

However, that driver cannot detect the situation when the mountpoint is empty because of a (temporary) mount failure, such as what happened to a user who switched to the alternate kernel (which doesn't provide a ZFS driver) for a test. The SR driver sees an empty directory and considers that here are no VDIs anymore in the SR. So it forgets about all those VDIs. Once they are seen again during a later scan, all the metadata about them is lost.

There are built-in protections against this in the file SR driver for common mountpoints, but ZFS doesn't use such mount points as far as I can tell, so the protection didn't work. Actually the protections are not on when the SR type is file.

A dedicated driver may also include ZFS-specific features (e.g. using ZFS snapshots for snapshots?), but the exact behaviour of the driver is yet to be decided. Maybe start with a zfsbasic driver just for fixing the "VDI disappearing" bug?

@stormi stormi changed the title Create a dedicated ZFS SR driver Create a dedicated ZFS SR driver to avoid losing VDI metadata Jun 15, 2020
@Wescoeur Wescoeur self-assigned this Jul 22, 2020
@stormi stormi closed this as completed Sep 28, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants