etcdserver/storage.go
func (st *storage) SaveSnap(snap raftpb.Snapshot) error {
	walsnap := walpb.Snapshot{
		Index: snap.Metadata.Index,
		Term:  snap.Metadata.Term,
	}
	err := st.WAL.SaveSnapshot(walsnap)
	if err != nil {
		return err
	}
	err = st.Snapshotter.SaveSnap(snap)
	if err != nil {
		return err
	}
	return st.WAL.ReleaseLockTo(snap.Metadata.Index)
}
func (st *storage) SaveSnap(snap raftpb.Snapshot) error {
	walsnap := walpb.Snapshot{
		Index: snap.Metadata.Index,
		Term:  snap.Metadata.Term,
	}
	err := st.WAL.SaveSnapshot(walsnap)
	if err != nil {
		return err
	}
	err = st.Snapshotter.SaveSnap(snap)
	if err != nil {
		return err
	}
	return st.WAL.ReleaseLockTo(snap.Metadata.Index)
}
func ( st * storage ) SaveSnap ( snap raftpb . Snapshot ) error { walsnap := walpb . Snapshot { Index : snap . Metadata . Index , Term : snap . Metadata . Term , } err := st . WAL . SaveSnapshot ( walsnap ) if err != nil { return err } err = st . Snapshotter . SaveSnap ( snap ) if err != nil { return err } return st . WAL . ReleaseLockTo ( snap . Metadata . Index ) }
// SaveSnap saves the snapshot to disk and release the locked
// wal files since they will not be used.
SaveSnap saves the snapshot to disk and release the locked wal files since they will not be used .