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

Make static header updates more robust #3110

Open
jbaublitz opened this issue Sep 12, 2022 · 2 comments
Open

Make static header updates more robust #3110

jbaublitz opened this issue Sep 12, 2022 · 2 comments
Assignees

Comments

@jbaublitz
Copy link
Member

Related to #3035
Related to stratis-storage/project#50

We should handle some sort of failure recovery when the static header (previously unchangeable) changes due to the underlying device size changing like in the RAID case. In these situations, it is possible for the first header write to succeed and the second header write to fail, leaving the headers in "correct" (according to the CRC) but disagreeing states

Potential options:

  1. Rollback using temporary files and back up functionality
  2. Rollback using an in-memory solution to cache the old header and try to restore it if the second write fails
  3. Special case set up
  4. Use some of our unused static header space to add in a "last updated" field; this is likely the most generalized (and potentially correct) solution, particularly if we add more fields to the static header that are able to change
@jbaublitz
Copy link
Member Author

Currently, I think we're tending towards extending the static header with a timestamp of "last updated".

@jbaublitz jbaublitz self-assigned this Sep 22, 2022
@jbaublitz
Copy link
Member Author

We should potentially put this in the same release as #3274

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

No branches or pull requests

1 participant