CA-136104: Adding better kernel version detection: http://lists.xen.org/archives/html/xen-devel/2013-12/msg01185.html

This prevents the failing on the call to io_setup with EINVAL. Tapdisk
currently detects kernel version for eventfd by looking for 'x.y.z',
which fails on the newer kernel versions.

Credit goes to James Harper from
http://lists.xen.org/archives/html/xen-devel/2013-12/msg01185.html

Signed-off-by: Antony Messerli <antony@mes.ser.li>
Reviewed-by: Thanos Makatos <thanos.makatos@citrix.com>

GitHub: closes #79 on xapi-project/blktap
CA-130898: use 32-bit protocol with guest if omitted

Signed-off-by: Thanos Makatos <thanos.makatos@citrix.com>
Acked-by: Chandrika Srinivasan <chandrika.srinivasan@citrix.com>

(cherry picked from commit 6c86a979700ca4ff1e16fdcc44b3ff2ea4baddda)

GitHub: closes #84 on xapi-project/blktap
Merge branch 'xs64bit'

Merge from product branch Creedence

Signed-off-by: Thanos Makatos <thanos.makatos@citrix.com>
Documented how to test for O_DIRECT support

Signed-off-by: Cristian Klein <cristian.klein@cs.umu.se>
Acked-by: Thanos Makatos <thanos.makatos@citrix.com>

GitHub: closes #103 on xapi-project/blktap
CA-148679: add CRC32 header to ring stats

This allows for a lockfree production/consumption of I/O ring stats, as
the consumer can simply use the checksum to detect and ignore transient
inconsistencies.

Signed-off-by: Thanos Makatos <thanos.makatos@citrix.com>