Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Refactor chunkserver to generate layers of snapshots
A chunk might have multiple snapshots when we remove the assumption that snapshots are always exported and deleted afterwards. Changes are: 1. Introduce CSSnapshots to manage snapshots; 2. `correctedSn' no longer used for CoW logic. 3. Two new fields are introduced to `ChunkRequest': - snapSn, the snapshot sequence number; - snaps, all snapshot sequence numbers. TODO: 1. managing of `snaps' field in client side. 2. CRUD of `internal' snapshots. 3. storage consumption and statistics - take care of CoW files. 4. Recover & clone of `internal' snapshots. 5. caching of meta objects, and take care of memory footprint. 6. optimize deletion - no need to merge if intended to delete both file and snapshots. 7. Remove `correctedSn' from `ChunkFileMetaPage' and 'CSChunkInfo'. UT: 1. `test/chunkserver/clone/clone_test' still fails. 2. new unit tests is still under development. Signed-off-by: David Lee <live4thee@gmail.com>
- Loading branch information