mirror of
https://github.com/ollama/ollama.git
synced 2026-10-20 18:41:17 +00:00
* transfer: bound stall retries and let the watchdog interrupt them A download that stalls could never recover. copy derived its own cancellable context, but the request was built from the parent, so cancelling on a stall never reached the in-flight body and the read stayed parked. The stall watchdog could detect a stall it had no way to stop. Stall retries were also unbounded: they never incremented attempt, so the retry loop had no limit, and because backoff was gated on attempt > 0 they retried with no delay at all. The request now owns the cancellable context and passes its cancel down to copy, so a stall aborts the read. Stalls get their own retry budget before counting against the limit, and backoff is keyed to every retry rather than only the counted ones. * move out of x/
12 lines
439 B
Go
12 lines
439 B
Go
//go:build !windows
|
|
|
|
package transfer
|
|
|
|
import "os"
|
|
|
|
// setSparse is a no-op on non-Windows platforms.
|
|
// On Windows, this sets the FSCTL_SET_SPARSE attribute which allows the OS
|
|
// to not allocate disk blocks for zero-filled regions. This is useful for
|
|
// partial downloads where not all data has been written yet. On Unix-like
|
|
// systems, filesystems typically handle this automatically (sparse by default).
|
|
func setSparse(_ *os.File) {}
|