Storage 'failover' largely kills FreeBSD 10.x under XenServer?

Karl Pielorz kpielorz_lst at tdx.co.uk
Fri Sep 22 09:14:12 UTC 2017


--On 21 September 2017 15:49 +0100 Karl Pielorz <kpielorz_lst at tdx.co.uk> 
wrote:

>> Are these timeouts coming from Dom0 or from a VM in a DomU?
>
> domU - as above, dom0 grumbles, but generally seems OK about things. dom0
> doesn't do anything silly like invalidate the VM's disks or anything.

I've chased this down in the code - having briefly looked at 
blkfront/blkback - I can see all the mechanisms in place for performing I/O 
- but I cannot see there's any timeouts set anywhere (in that code).

I can see the callback that fires when the I/O fails.

It looks like for the purposes of xbd I/O requests are just gathered up, 
processed - and then fired off to XenServer (i.e. upstream). If they fail, 
callbacks are fired - and action taken.

But nowhere can I see where there are any timeouts either specified, or 
specifiable by FreeBSD - nor can I see (certainly at that level) that there 
are any I/O retries in that code.

So,

  - Timeouts may be set by Xen (i.e. outside of FreeBSD's scope)
  - I/O may be retried by 'higher levels' than blkfront/blkback - but I 
can't see where.

It may simply be that I/O from FreeBSD through XenServer is a 'fire and 
forget' process, where FreeBSD has no control over timeouts, and currently 
has no code (at that level) to perform retries.

I'd need to figure out what sits above 'blkfront/blkback' - and whether 
that's likely to do any retries.

It's certainly not CAM running the storage - so those timeout/retry sysctl 
values are completely irrelevant.

More study, and maybe a quick post to -hackers to see what lies above 
blkfront/back etc.

-Kp


More information about the freebsd-xen mailing list