Page MenuHomeFreeBSD

storvsc: port a Linux patch, properly set residual data length on errors
Needs ReviewPublic

Authored by avg on Nov 11 2019, 1:23 PM.

Details

Summary

This change is based on Linux commit 40630f462824ee.
csio.resid should account for transfer_len only for success and
SRB_STATUS_DATA_OVERRUN condition.

I am not sure how exactly this change works, but I have a report from a user
that they see lots of checksum errors when running a pool scrub concurrently
with iozone -l 1 -s 100G. After applying this patch the problem cannot be
reproduced.

Diff Detail

Repository
rS FreeBSD src repository
Lint
Lint OK
Unit
No Unit Test Coverage
Build Status
Buildable 27442
Build 25680: arc lint + arc unit

Event Timeline

avg created this revision.Nov 11 2019, 1:23 PM
avg updated this revision to Diff 64171.Nov 11 2019, 1:34 PM

add a missing header change

avg edited the summary of this revision. (Show Details)Nov 11 2019, 1:35 PM