|
Current write sequence follows these steps(candidate supported):
But it is required to use locking and also detect concurrent edits for shared datastores (using discard changes).
Expected canonical write for devices supporting only writable running capability:
- lock running or fail
- edit running (unlock on fail)
- unlock running
supporting only candidate:
- lock candidate
- if lock fails, try to discard changes
- if discard fails, fail
- if discard succeeds, lock candidate
- edit candidate (discard-changes + unlock on fail)
- commit
- unlock candidate
supporting both writable running and candidate:
- lock running or fail
- SAME AS FOR CANDIDATE ONLY
- unlock running
|