Page MenuHomeFreeBSD

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

Authored by avg on Nov 11 2019, 1:23 PM.
Tags
None
Referenced Files
F143145565: D22312.diff
Mon, Jan 26, 1:31 PM
Unknown Object (File)
Sat, Jan 24, 3:04 AM
Unknown Object (File)
Sun, Jan 11, 6:04 PM
Unknown Object (File)
Dec 25 2025, 12:42 AM
Unknown Object (File)
Dec 12 2025, 5:41 PM
Unknown Object (File)
Dec 11 2025, 2:43 PM
Unknown Object (File)
Dec 4 2025, 12:41 PM
Unknown Object (File)
Dec 1 2025, 3:16 PM
Subscribers

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 - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 27442
Build 25680: arc lint + arc unit