storage/piece-completion.go | 6 +++++- diff --git a/storage/piece-completion.go b/storage/piece-completion.go index bc646bd7aeb088f4e2a5b9b4d4df5eb678d36259..edc1e086437584d2d456de0e29cc0ceb5b224569 100644 --- a/storage/piece-completion.go +++ b/storage/piece-completion.go @@ -2,6 +2,7 @@ package storage import ( "github.com/anacrolix/log" + "os" "github.com/anacrolix/torrent/metainfo" ) @@ -18,9 +19,12 @@ Close() error } func pieceCompletionForDir(dir string) (ret PieceCompletion) { + // This should be happening before sqlite attempts to open a database in the intended directory. + os.MkdirAll(dir, 0o700) ret, err := NewDefaultPieceCompletionForDir(dir) if err != nil { - log.Printf("couldn't open piece completion db in %q: %s", dir, err) + // This kinda sux using the global logger. This code is ancient. + log.Levelf(log.Warning, "couldn't open piece completion db in %q: %s", dir, err) ret = NewMapPieceCompletion() } return