Browse Source

Don't hard fail on sparse setup error

It seems this can fail in some casees, but proceed
with the download anyway.
royh/ep-methods
Daniel Hiltgen 2 years ago
parent
commit
2fa1db4345
  1. 4
      server/download.go
  2. 3
      server/sparse_common.go
  3. 5
      server/sparse_windows.go

4
server/download.go

@ -216,9 +216,7 @@ 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
}
setSparse(file)
_ = file.Truncate(b.Total)

3
server/sparse_common.go

@ -4,6 +4,5 @@ package server
import "os"
func setSparse(file *os.File) error {
return nil
func setSparse(*os.File) {
}

5
server/sparse_windows.go

@ -6,8 +6,9 @@ import (
"golang.org/x/sys/windows"
)
func setSparse(file *os.File) error {
return windows.DeviceIoControl(
func setSparse(file *os.File) {
// exFat (and other FS types) don't support sparse files, so ignore errors
windows.DeviceIoControl( //nolint:errcheck
windows.Handle(file.Fd()), windows.FSCTL_SET_SPARSE,
nil, 0,
nil, 0,

Loading…
Cancel
Save