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

implement checkpoint logic in disk_wrapper #39

Closed
ashmrtn opened this issue Sep 13, 2017 · 0 comments
Closed

implement checkpoint logic in disk_wrapper #39

ashmrtn opened this issue Sep 13, 2017 · 0 comments
Assignees

Comments

@ashmrtn
Copy link
Member

ashmrtn commented Sep 13, 2017

Part of the revised version of #12.

Checkpoints require support across many parts of CrashMonkey. This part is meant to provide the ability for the disk_wrapper to actually create a checkpoint. This should be implemented as part of the ioctl created in #40.

For checkpoints, we can assume 2 things:

  1. the user has just performed a sync/fsync request of some form
  2. this call will block until all parts of the checkpoint are completed

When a checkpoint request is received an an ioctl, the disk_wrapper should insert a new disk_write_op into the sequence to signify that a checkpoint was made. This operation should have no data, but should have flags to denote that it is a checkpoint. New flags will need to be created to signify checkpoint operations as the current flags don't reflect that.

Insertion into the list of disk operations should be done in a thread-safe manner. It could be the case that another process is attempting to insert a write into the list, so be sure to use proper locking to ensure nothing is lost.

The checkpoint operation should appear like all the other operations in the list so that it can be transferred to user space like all the others.

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