qemu: block: Add function to check if storage source allows concurrent access

Storage source format backing a shared device (e.g. running a cluster
filesystem) needs to support the sharing so that metadata are not
corrupted. Add a central function for checking this.
This commit is contained in:
Peter Krempa 2017-11-14 15:34:46 +01:00
parent 85b0e2f126
commit 1fc3cd8731
2 changed files with 18 additions and 0 deletions

View File

@ -390,6 +390,21 @@ qemuBlockGetNodeData(virJSONValuePtr data)
}
/**
* qemuBlockStorageSourceSupportsConcurrentAccess:
* @src: disk storage source
*
* Returns true if the given storage format supports concurrent access from two
* separate processes.
*/
bool
qemuBlockStorageSourceSupportsConcurrentAccess(virStorageSourcePtr src)
{
/* no need to check in backing chain since only RAW storage supports this */
return src->format == VIR_STORAGE_FILE_RAW;
}
/**
* qemuBlockStorageSourceGetURI:
* @src: disk storage source

View File

@ -54,6 +54,9 @@ qemuBlockNodeNamesDetect(virQEMUDriverPtr driver,
virHashTablePtr
qemuBlockGetNodeData(virJSONValuePtr data);
bool
qemuBlockStorageSourceSupportsConcurrentAccess(virStorageSourcePtr src);
virJSONValuePtr
qemuBlockStorageSourceGetBackendProps(virStorageSourcePtr src);