|
|
@ -3798,8 +3798,10 @@ retry_write: |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
if (rc != len) { |
|
|
|
if (rc != len) { |
|
|
|
rc = rc < 0 ? ErrCode() : EIO; |
|
|
|
rc = rc < 0 ? ErrCode() : EIO; |
|
|
|
|
|
|
|
#ifndef _WIN323 |
|
|
|
if (rc == EINTR) |
|
|
|
if (rc == EINTR) |
|
|
|
goto retry_write; |
|
|
|
goto retry_write; |
|
|
|
|
|
|
|
#endif |
|
|
|
DPUTS("write failed, disk error?"); |
|
|
|
DPUTS("write failed, disk error?"); |
|
|
|
/* On a failure, the pagecache still contains the new data.
|
|
|
|
/* On a failure, the pagecache still contains the new data.
|
|
|
|
* Write some old data back, to prevent it from being used. |
|
|
|
* Write some old data back, to prevent it from being used. |
|
|
|