From: Matt Joiner Date: Mon, 22 Feb 2021 03:51:34 +0000 (+1100) Subject: Only write update bolt piece completion if the existing value differs X-Git-Tag: v1.26.0-alpha~6 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=ac05b69e1184d27b32b436c16d515f16bdd27290;p=btrtrc.git Only write update bolt piece completion if the existing value differs --- diff --git a/storage/boltPieceCompletion.go b/storage/boltPieceCompletion.go index 36fc6c1f..4bc190a2 100644 --- a/storage/boltPieceCompletion.go +++ b/storage/boltPieceCompletion.go @@ -67,6 +67,9 @@ func (me boltPieceCompletion) Get(pk metainfo.PieceKey) (cn Completion, err erro } func (me boltPieceCompletion) Set(pk metainfo.PieceKey, b bool) error { + if c, err := me.Get(pk); err == nil && c.Ok && c.Complete == b { + return nil + } return me.db.Update(func(tx *bbolt.Tx) error { c, err := tx.CreateBucketIfNotExists(completionBucketKey) if err != nil {