[LU-359] Confused error message after write failure Created: 24/May/11 Updated: 22/Feb/13 Resolved: 09/Aug/12 |
|
| Status: | Resolved |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | Lustre 2.3.0, Lustre 1.8.6 |
| Fix Version/s: | Lustre 2.3.0, Lustre 1.8.9 |
| Type: | Bug | Priority: | Blocker |
| Reporter: | nasf (Inactive) | Assignee: | nasf (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Severity: | 3 |
| Rank (Obsolete): | 4501 |
| Description |
|
The issues were found in sanity-quota test. When application writes failed for out of quota (-EDQUOT), it will close the file and exit. But the close returns "-EIO" related with former write failure, like that: =============== The message of "dd: closing output file `/mnt/lustre/d0.sanity-quota/d1/f1-1': Input/output error" is confused, which is quite different from "dd" against local FS output. The expected output should be: =============== |
| Comments |
| Comment by nasf (Inactive) [ 24/May/11 ] |
|
In fact, the "-EDQUOT" is returned by ll_file_aio_write(), which is out of the control of "lli_async_rc". Maybe we can use more complex logic to trace all write related failures by single "lli_async_rc", but the separate "ll_write_rc" is quite simple to resolve these issues. |
| Comment by nasf (Inactive) [ 24/May/11 ] |
|
patch for b1_8: |
| Comment by nasf (Inactive) [ 24/May/11 ] |
|
patch for master: |
| Comment by nasf (Inactive) [ 24/May/11 ] |
|
Johann, sorry for I did not understand the reason you disapprove former patch for this issue. Would you please to give some examples for what maybe caused by introducing "ll_write_rc"? thanks! |
| Comment by nasf (Inactive) [ 25/May/11 ] |
|
I rename per-inode structure based 'lli_write_rc' as per file-structure based 'fd_last_write' to track the last write/fsync result (success or failure) through the 'file' structure. So when 'sys_close()' is called against the 'file' structure, we know whether the caller has known write/fsync failure or not, and then avoid report confused failure. As for 'lli_async_rc', they do not conflict: Is anything wrong? |
| Comment by nasf (Inactive) [ 08/Oct/11 ] |
|
New patch for master is available: |
| Comment by nasf (Inactive) [ 25/Jul/12 ] |
|
The patches have been updated: master: http://review.whamcloud.com/#change,1497 |
| Comment by Peter Jones [ 09/Aug/12 ] |
|
Landed for 2.3 |