Don't retry downloads when disk is full
| ... | ... |
@@ -6,6 +6,7 @@ import ( |
| 6 | 6 |
"net/http" |
| 7 | 7 |
"net/url" |
| 8 | 8 |
"strings" |
| 9 |
+ "syscall" |
|
| 9 | 10 |
"time" |
| 10 | 11 |
|
| 11 | 12 |
"github.com/docker/distribution" |
| ... | ... |
@@ -149,6 +150,10 @@ func retryOnError(err error) error {
|
| 149 | 149 |
return retryOnError(v.Err) |
| 150 | 150 |
case *client.UnexpectedHTTPResponseError: |
| 151 | 151 |
return xfer.DoNotRetry{Err: err}
|
| 152 |
+ case error: |
|
| 153 |
+ if strings.Contains(err.Error(), strings.ToLower(syscall.ENOSPC.Error())) {
|
|
| 154 |
+ return xfer.DoNotRetry{Err: err}
|
|
| 155 |
+ } |
|
| 152 | 156 |
} |
| 153 | 157 |
// let's be nice and fallback if the error is a completely |
| 154 | 158 |
// unexpected one. |