@@ -639,6 +639,13 @@ func syncthingMain() {
}
+ // Pack and optimize the database
+ if err := ldb.Compact(); err != nil {
+ // I don't think this is fatal, but who knows. If it is, we'll surely
+ // get an error when trying to write to the db later.
+ l.Infoln("Compacting database:", err)
+ }
+
m := model.NewModel(cfg, myID, myName, "syncthing", Version, ldb, protectedFiles)
cfg.Subscribe(m)
@@ -65,6 +65,10 @@ func newDBInstance(db *leveldb.DB) *Instance {
+func (db *Instance) Compact() error {
+ return db.CompactRange(util.Range{})
+}
func (db *Instance) genericReplace(folder, device []byte, fs []protocol.FileInfo, localSize, globalSize *sizeTracker, deleteFn deletionHandler) int64 {
sort.Sort(fileList(fs)) // sort list on name, same as in the database