rgw/lc: retry cloud-tier 500 InternalError for bucket create and object PUT
The cloud-tier transfer only treated 503 (-EBUSY) as retryable. A 500 from the remote surfaced as -ERR_INTERNAL_ERROR and failed the object outright, but S3 backends use 500 as a transient "try again" signal. Retry it the same way we retry -EBUSY. The helper is no longer EBUSY-specific, so rename it to retry_on_transient_error; the restore path uses it too and gets the same behaviour. Even then a 500 never reached the retry: cloud_tier_create_bucket mapped an error response to -EIO and an error with no body to 0 (success). Return the real errno for transient failures, and stop treating an empty-body error as a successful create. Signed-off-by: Matthew N. Heler <matthew.heler@hotmail.com>
M
Matthew N. Heler committed
9c07120d1055c4328bcc46dcfac356c9ea80aa6f
Parent: 579eb83