diff options
author | David Anderson <dvander@google.com> | 2019-08-01 14:37:35 -0700 |
---|---|---|
committer | David Anderson <dvander@google.com> | 2019-08-02 13:30:08 -0700 |
commit | 456e50193bf5989c787d1f33b9b411f4fd462093 (patch) | |
tree | 1e262c9ac55dab1df1c9e642e5f5f002e941291a /init/service_parser.cpp | |
parent | 549ea4801bca1be21cd4fe8e845e535e4f916130 (diff) |
Implement basic libsnapshot functionality.
This CL implements some of the libsnapshot internals necessary to work
with update_engine. In particular it implements snapshot and update
state, as well as creating and mapping snapshot devices. It does not
implement anything related to merging, nor does it implement the full
update_engine flow.
Update state is stored in /metadata/ota/state. To synchronize callers of
libsnapshot, we always flock() this file at the top of public functions
in SnapshotManager. Internal functions are only called while the lock is
held, and a "LockedFile" guard object is always passed through to
indicate proof-of-lock.
Low-level functions, such as snapshot management, have been moved to
private methods. Higher-level methods designed for update_engine will
ultimately call into these.
This CL also adds some functional tests for SnapshotManager. Test state
is stored in /metadata/ota/test to avoid conflicts with the rest of the
system.
Bug: 136678799
Test: libsnapshot_test gtest
Change-Id: I78c769ed33b307d5214ee386bb13648e35db6cc6
Diffstat (limited to 'init/service_parser.cpp')
0 files changed, 0 insertions, 0 deletions