[LU-8358] Update condition on vvp_vmpage_error to match error code in RPC Created: 30/Jun/16 Updated: 14/Jan/18 Resolved: 14/Jan/18 |
|
| Status: | Resolved |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | Lustre 2.11.0 |
| Type: | Bug | Priority: | Minor |
| Reporter: | Patrick Farrell (Inactive) | Assignee: | WC Triage |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | patch | ||
| Severity: | 3 |
| Rank (Obsolete): | 9223372036854775807 |
| Description |
|
When a Lustre client is evicted (or otherwise suffers fatal RPC interruption), it is supposed to print a warning (ll_dirty_page_discard_warn) for any dirty pages (once per set...) which may have been lost due to the eviction. This is handled in vvp_vmpage_error, with a condition that checks the return code in the RPC. Unfortunately, But did not update the check in vvp_vmpage_error: if ((ioret == -ESHUTDOWN || ioret == -EINTR) &&
obj->vob_discard_page_warned == 0) {
obj->vob_discard_page_warned = 1;
ll_dirty_page_discard_warn(vmpage, ioret);
It's still possible to get -EINTR here for an interrupted RPC (see osc_brw_redo_request), so I think we need to add -EIO to this mix. Cray noticed this because we were seeing dropped pages after evictions without the message printed. Adding -EIO to this condition resolves this. |
| Comments |
| Comment by Gerrit Updater [ 30/Jun/16 ] |
|
Patrick Farrell (paf@cray.com) uploaded a new patch: http://review.whamcloud.com/21111 |
| Comment by Gerrit Updater [ 14/Jan/18 ] |
|
Oleg Drokin (oleg.drokin@intel.com) merged in patch https://review.whamcloud.com/21111/ |
| Comment by Peter Jones [ 14/Jan/18 ] |
|
Landed for 2.11 |