Ensure sparse files on windows during download

The file.Truncate call on windows will write the whole file
unless you set the sparse flag, leading to heavy I/O at the
beginning of download.  This should improve our
I/O behavior on windows and put less stress on the users disk.
This commit is contained in:
Daniel Hiltgen
2024-08-06 10:46:31 -07:00
parent 86b907f82a
commit fc85f50a2b
3 changed files with 28 additions and 0 deletions

View File

@@ -216,6 +216,9 @@ func (b *blobDownload) run(ctx context.Context, requestURL *url.URL, opts *regis
return err
}
defer file.Close()
if err := setSparse(file); err != nil {
return err
}
_ = file.Truncate(b.Total)