make blobs directory if it does not exist

This commit is contained in:
Jeffrey Morgan 2023-07-16 10:47:35 -07:00 committed by Patrick Devine
parent 6228a5f39f
commit be233da145

View File

@ -287,9 +287,16 @@ func SaveLayers(layers []*LayerWithBuffer, fn func(status string), force bool) e
return err
}
dir := path.Join(home, ".ollama/models/blobs")
err = os.MkdirAll(dir, 0o700)
if err != nil {
return fmt.Errorf("make blobs directory: %w", err)
}
// Write each of the layers to disk
for _, layer := range layers {
fp := path.Join(home, ".ollama/models/blobs", layer.Digest)
fp := path.Join(dir, layer.Digest)
_, err = os.Stat(fp)
if os.IsNotExist(err) || force {
@ -748,6 +755,11 @@ func downloadBlob(registryURL, repoName, digest, username, password string) erro
return fmt.Errorf("registry responded with code %d: %v", resp.StatusCode, string(body))
}
err = os.MkdirAll(path.Dir(fp), 0o700)
if err != nil {
return fmt.Errorf("make blobs directory: %w", err)
}
out, err := os.Create(fp)
if err != nil {
log.Printf("couldn't create %s", fp)