Factor out block level I/O handling code and correctly handle I/Os that exceed MAXPHYS in size.
Factor out block level I/O handling code and correctly handle I/Os that
exceed MAXPHYS in size.

Thanks to ckuethe@ and stsp@ for testing.

ok marco@

orumin/openbsd-efivars,orumin/openbsd-efivars,orumin/openbsd-efivars,orumin/openbsd-efivars