-
Notifications
You must be signed in to change notification settings - Fork 142
Handling 'short' write in some cases, e.g. disk full. #1888
Conversation
This issue/pull request has been marked as |
The Jenkins test result: It is NOT automatically posted here. |
Jenkins CI Result : Motr#1522Motr Test Summary
CppCheck SummaryCppcheck: No new warnings found 👍 |
Can one of the admins verify this patch? |
retest this please |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me.
In cases, e.g. disk full, the write request may return with 'short write': the written count is less than requested count. The assertion of requested write count equal to returned count is removed. In this case, the rc value of this request is still 0. And next write request may return -ENOSPC because of disk full. This can be triggered with small disks and writing a lot of data into the system. Signed-off-by: Hua Huang <hua.huang@seagate.com>
Jenkins CI Result : Motr#1586Motr Test Summary
CppCheck SummaryCppcheck: No new warnings found 👍 |
@huanghua78 , In case of short writes, how will the user know how much data was written? By returning the actually written bytes of data. |
I ran the 45motr-rmw manually, and it passed:
Please note the panic happens while doing finalization, which does not impact this patch, and will be fixed soon in another PR. |
Another round of successful 45motr-rmw:
|
Jenkins CI Result : Motr#1593Motr Test Summary
CppCheck SummaryCppcheck: No new warnings found 👍 |
Jenkins CI Result : Motr#1597Motr Test Summary
CppCheck SummaryCppcheck: No new warnings found 👍 |
…eagate#1888) In cases, e.g. disk full, the write request may return with 'short write': the written count is less than requested count. The assertion of requested write count equal to returned count is removed. In this case, the rc value of this request is still 0. And next write request may return -ENOSPC because of disk full. This can be triggered with small disks and writing a lot of data into the system. Signed-off-by: Hua Huang <hua.huang@seagate.com>
Problem Statement
Sometimes, the write request may return short write result, especially
in case of disk full. Please see: #1868
Design
We don't require the I/O request to write/read all data in the request.
Coding
Checklist for Author
Testing
Checklist for Author
Impact Analysis
Checklist for Author/Reviewer/GateKeeper
Review Checklist
Checklist for Author
Documentation
Checklist for Author