mirror of
https://github.com/octoleo/syncthing.git
synced 2025-02-02 11:58:28 +00:00
Also explicitly handle non-nil but empty block lists (if they should ever pop up as an effect of unmarshalling changes or whatnot).
This commit is contained in:
parent
29736b1e33
commit
04e648fee6
@ -550,7 +550,9 @@ func (db *Lowlevel) gcBlocks() error {
|
|||||||
if err := bl.Unmarshal(it.Value()); err != nil {
|
if err := bl.Unmarshal(it.Value()); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
filter.Add(bl.BlocksHash)
|
if len(bl.BlocksHash) > 0 {
|
||||||
|
filter.Add(bl.BlocksHash)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
it.Release()
|
it.Release()
|
||||||
if err := it.Error(); err != nil {
|
if err := it.Error(); err != nil {
|
||||||
|
@ -59,6 +59,9 @@ func (t readOnlyTransaction) getFileTrunc(key []byte, trunc bool) (FileIntf, boo
|
|||||||
return nil, false, err
|
return nil, false, err
|
||||||
}
|
}
|
||||||
f, err := t.unmarshalTrunc(bs, trunc)
|
f, err := t.unmarshalTrunc(bs, trunc)
|
||||||
|
if backend.IsNotFound(err) {
|
||||||
|
return nil, false, nil
|
||||||
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, false, err
|
return nil, false, err
|
||||||
}
|
}
|
||||||
@ -86,7 +89,7 @@ func (t readOnlyTransaction) unmarshalTrunc(bs []byte, trunc bool) (FileIntf, er
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (t readOnlyTransaction) fillBlockList(fi *protocol.FileInfo) error {
|
func (t readOnlyTransaction) fillBlockList(fi *protocol.FileInfo) error {
|
||||||
if fi.BlocksHash == nil {
|
if len(fi.BlocksHash) == 0 {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
blocksKey := t.keyer.GenerateBlockListKey(nil, fi.BlocksHash)
|
blocksKey := t.keyer.GenerateBlockListKey(nil, fi.BlocksHash)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user