Page MenuHomeFreeBSD

Upstream Hyper-V Storage VSC Driver Fixes from NetApp
Needs ReviewPublic

Authored by siderop1_netapp.com on Tue, Jul 21, 8:38 PM.

Details

Summary
  • In hv_storvsc_io_request() when coring, prevent changing of the send channel from the base channel to another one. storvsc_poll always probes on the base channel.
  • Based upon conversations with Microsoft, changed the handling of srb_status codes. Most we should never get, others yes. All are treated as retry-able except for two. We should not get these statuses, but if we ever do, the I/O state is not known.

Diff Detail

Lint
Lint OK
Unit
No Unit Test Coverage
Build Status
Buildable 32815
Build 30230: arc lint + arc unit

Event Timeline

siderop1_netapp.com set the repository for this revision to rS FreeBSD src repository.
siderop1_netapp.com requested review of this revision.Tue, Jul 21, 8:51 PM
whu added a comment.Tue, Jul 28, 5:13 AM

#ifdef DIAGNOSTIC
Is this only for test purpose? When will this be defined? Thanks.

In D25756#572421, @whu wrote:

#ifdef DIAGNOSTIC
Is this only for test purpose? When will this be defined? Thanks.

Yes, to force set the srb_status value for testing. We use DIAGNOSTIC in all our internal debug (non-production) builds.

whu added a comment.Thu, Jul 30, 6:07 AM

Looks good to me. Thanks for fixing this!

whu accepted this revision.Thu, Jul 30, 6:08 AM
This revision is now accepted and ready to land.Thu, Jul 30, 6:08 AM
allanjude added inline comments.
sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c
2292

This error message doesn't really read like an error message, maybe:

"The hypervisor's I/O adapter driver received an unexpected response code 0x%x for operation: %s"

But is there some way we can expand this message to inform the user what they are expected to do about this? Or what side effects this might cause?

trasz accepted this revision.Sat, Aug 1, 3:02 PM

Looks good, apart from the wording pointed out by Allan.

sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c
2292

Yeah, that's a good idea. Below's what we are thinking. Comments on this before I update the diff?

The hypervisor's I/O adapter driver received an unexpected response code 0x%x for operation: %s. If this continues to occur, report the condition to your hypervisor vendor so they can rectify the issue.
allanjude accepted this revision.Thu, Aug 6, 1:53 PM

With that change, looks good to me.

sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c
2292

Yes, this is exactly what I had in mind.

update error message based on review feedback

This revision now requires review to proceed.Thu, Aug 6, 5:18 PM