So the only thing I'm currently looking at is the use of versions_->LogNumber(), version_->PrevLogNumber() and versions_->ManifestFileNumber() below to determine whether to keep or delete log and manifes files.  Since now these values will be read outside of a lock, but are updated atomically in VersionSet::LogAndApply() which usually holds the DBImpl mutex passed in, I'm trying to convince myself whether values can be stale and whether that would lead to any problems.