storage/boltPieceCompletion.go | 3 +++ diff --git a/storage/boltPieceCompletion.go b/storage/boltPieceCompletion.go index 36fc6c1fa1405ab6776c5897ba63b1e73759d7ec..4bc190a249d89fdcfa2a76269a6bc65ebb50f1fa 100644 --- a/storage/boltPieceCompletion.go +++ b/storage/boltPieceCompletion.go @@ -67,6 +67,9 @@ return } 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 {