-
Type: Task
-
Resolution: Done
-
Affects Version/s: None
-
Component/s: None
-
None
Michael, here's what I'm suggesting for moving the snapshot code into the session layer.
The key changes are (1) always provide a WT_SNAPSHOT structure to the btree layer, affects sync and salvage, and (2) snapshot the underlying file in the session/connection layers, it's no longer a side-effect of closing the handle.
The conn/conn_btree.c changes are probably the most interesting: __wt_conn_btree_sync_and_close is a hack, but I'm hoping the call to that function from __wt_session_release_btree might eventually go away and simplify the world a bit.
I created a new file session/session_salvage.c, there's some session-specific salvage work, now.