From ac05b69e1184d27b32b436c16d515f16bdd27290 Mon Sep 17 00:00:00 2001 From: Matt Joiner Date: Mon, 22 Feb 2021 14:51:34 +1100 Subject: [PATCH] Only write update bolt piece completion if the existing value differs --- storage/boltPieceCompletion.go | 3 +++ 1 file changed, 3 insertions(+) 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 { -- 2.48.1