PR-1291: Initial Commit for OCFS2 SR Offering
CP-4526: Fix SR.scan.
CP-4523:  Storage Thin Provisioning: Handle OCFS2 failure

Added new OCFS specific errors and covered all error paths in OCFS operations.
CA-113313: Limiting the OCFS SR offering to OCFSoHBA and OCFSoISCSI.
CA-113314: Fixed OCFSoHBA scan error, added 3rd unused arg to vdi(),
ref. FileSR
CA-113315: Zeroing out is not needed as we allow destroy only when there
are no vdis.
CA-113316: Added snapshot and clone attributes to CAPABILITIES
CA-113315: zeroout the filesystem metadata to override existing FS check
CA-113313: Add OCFS pluggin in Makefile to pick OCFSSR.py file
CA-113317: Add multipath functionality to ocfsohba
CA-113313: Removed OCFSSR after the link creation that happens in loop
PR-1291: Added ocfsoiscsi and ohba to mpath, to store path details in
PBD. Also added a dummy probe mechanism in OCFSSR
PR-1291: addressed review comments
Merge git://hg.uk.xensource.com/carbon/pr-1291/sm into PR-1291
Merge pull request #22 from tmakatos/master

Merge PR-1291 (OCFS SR tech preview) into upstream.
CP-4614: Fix syntax error.
Merge pull request #23 from tmakatos/master

CP-4614: Fix syntax error.
CA-107572: Ignore UUID not found exception during SR scan

VM migration failed because XAPI throw VDI UUID not found exception.
The VDI was already removed, the fix will catch the exception and discard it.

Signed-off-by: Sisimon Soman <sisimon.soman@citrix.com>
Acked-by: Thanos Makatos <thanos.makatos@citrix.com

GitHub: closes #17 on xapi-project/sm
CA-102329: VDI.delete: avoid duplicate GC restarts

In VDI.delete, there is a race condition where two threads attempt to
re-start a running GC/coalesce daemon, because re-starting the
GC/coalesce is done by blindly writing a value to a file (see IPC.py).
If one thread finds that there is re-start pending, there's no need to
issue another GC/coalesce re-start.

Signed-off-by: Thanos Makatos <thanos.makatos@citrix.com>
Acked-by: Zheng Li <zheng.li@citrix.com>

GitHub: closes #8 on xapi-project/sm
CA-105130: udev does not automatically refresh dev/disk/by-id

udev maintains symlinks into /dev/disk/by-id refreshing to
the latest available path to the same disk.
When the last added path is removed, the link is removed as
well, instead of being just updated to the previous path.

Recent versions of udev (e.g. in CentOS 6.4) do not show
this behaviour but our current version (095) needs to be triggered.

Signed-off-by: Germano Percossi <germano.percossi@citrix.com>
Acked-by: Thanos Makatos <thanos.makatos@citrix.com>

GitHub: closes #19 on xapi-project/sm