Write() overwrote a successful write's nil error with the stale lastErr returned by kickWaiters() once the downloader had recorded too many errors. download() then wrapped that stale error again and stored it back as the new lastErr, so every subsequent write added another "vfs reader: failed to write to cache file:" prefix - fixes #4998