提交 73cd8b3e 作者: Jeromy Johnson 提交者: GitHub

Merge pull request #3222 from ipfs/kevina/add-no-pin-lock

Adder: Don't hold the PinLock when not pinning.
......@@ -349,9 +349,13 @@ func (adder *Adder) addNode(node *dag.Node, path string) error {
// Add the given file while respecting the adder.
func (adder *Adder) AddFile(file files.File) error {
adder.unlocker = adder.blockstore.PinLock()
if adder.Pin {
adder.unlocker = adder.blockstore.PinLock()
}
defer func() {
adder.unlocker.Unlock()
if adder.unlocker != nil {
adder.unlocker.Unlock()
}
}()
return adder.addFile(file)
......@@ -432,7 +436,7 @@ func (adder *Adder) addDir(dir files.File) error {
}
func (adder *Adder) maybePauseForGC() error {
if adder.blockstore.GCRequested() {
if adder.unlocker != nil && adder.blockstore.GCRequested() {
err := adder.PinRoot()
if err != nil {
return err
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论