CAR-1442: Change NFS mount options

In preparation for read caching, change actimeo=0 to acdirmin=0,acdirmax=0.
Using "actimeo=0" prevents caching file attributes which means that each read
requires a GETATTR call to the NFS server.  This prevents read caching from
being effective.  Changing the mount options to "acdirmin=0,acdirmax=0"
prevents caching directory attributes but allows caching file attributes.  This
allows read caching to be effective.

This reverts the change made to the mount options in CA-63601.  The issue in
that ticket was a transient issue, fixed by a later build, before the change to
the mount options was made.

Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
Reviewed-by: Thanos Makatos <thanos.makatos@citrix.com>

GitHub: closes #135 on xapi-project/blktap
CAR-1442: Enable no-O_DIRECT read caching for VDIs on EXT and NFS SRs

Pass the "-D" argument to tap-ctl when opening an EXTFileVDI or an NFSFileVDI
to allow read caching by removing O_DIRECT.

Allow disabling read caching per-SR by setting other-config:o_direct to true.

Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
Reviewed-by: Thanos Makatos <thanos.makatos@citrix.com>

GitHub: closes #135 on xapi-project/blktap
CA-129333: Improve debugging for snapwatchd. Add documentation for xslib wrapper.

Signed-off-by: Siddharth Vinothkumar <siddharth.vinothkumar@citrix.com>
Reviewed-by: Thanos Makatos <thanos.makatos@citrix.com>

(cherry picked from commit 80f2bf6ecc2cc6dfd58e316b9dbefe1563537fbf)

Imported-by: Siddharth Vinothkumar <siddharth.vinothkumar@citrix.com>

GitHub: closes #136 on xapi-project/sm
CP-5736: ISCSISR - force_tapdisk

This is a workaround to make it possible to use a domU provided iSCSI
target as a raw iSCSI SR. By using the force_tapdisk parameter during SR
creation, disks will be accessed through tapdisk aio which copies
blocks, preventing page sharing issues between guests. This is a
workaround for the bug CA-110453.

Signed-off-by: Mate Lakat <mate.lakat@citrix.com>
Reviewed-by: Germano Percossi <germano.percossi@citrix.com>

Imported-by: Mate Lakat <mate.lakat@citrix.com>
(cherry picked from commit 8da7ba62bd92bce057ef5b9ce5919a40a2b5b42e)

GitHub: closes #138 on xapi-project/sm
CP-5736: Unit tests

Unit tests and scripts to setup the environment. See tests/README for
details.

Signed-off-by: Mate Lakat <mate.lakat@citrix.com>
Reviewed-by: Germano Percossi <germano.percossi@citrix.com>

Imported-by: Mate Lakat <mate.lakat@citrix.com>
(cherry picked from commit de8a7cf26aa571d2f39a13b472e0539215a3cd45)

GitHub: closes #138 on xapi-project/sm