[libvirt] [PATCH 1/5] conf: provide details on network backing store
Eric Blake
eblake at redhat.com
Thu Apr 10 22:36:36 UTC 2014
On 04/10/2014 03:58 AM, Peter Krempa wrote:
> On 04/10/14 05:41, Eric Blake wrote:
>> So far, my work has been merely preserving the status quo of
>> backing file analysis. But this patch starts to tread in the
>> territory of making the backing chain code more powerful - we
>> will eventually support network storage containing non-raw
>> formats. Here, we expose metadata information about a network
>> backing store, even if that information is still hardcoded to
>> a raw format for now.
>> + } else {
>> + if (VIR_STRDUP(meta->backingStoreRaw, backing) < 0) {
>> + VIR_FREE(backing);
>> + goto cleanup;
>> + }
>> + backingFormat = VIR_STORAGE_FILE_RAW;
>> }
>> VIR_FREE(backing);
>> meta->backingStoreFormat = backingFormat;
>
> This hunk invalidates the comment in virStorageFileChainCheckBroken, as
> currently backing store raw will be set always.
>
> ACK with the comment updated.
I squashed this in and pushed, along with the other ACKed patches in the
series:
diff --git i/src/util/virstoragefile.c w/src/util/virstoragefile.c
index 7a91a01..8222528 100644
--- i/src/util/virstoragefile.c
+++ w/src/util/virstoragefile.c
@@ -1272,7 +1272,8 @@ virStorageFileGetMetadata(const char *path, int
format,
*
* If CHAIN is broken, set *brokenFile to the broken file name,
* otherwise set it to NULL. Caller MUST free *brokenFile after use.
- * Return 0 on success, negative on error.
+ * Return 0 on success (including when brokenFile is set), negative on
+ * error (allocation failure).
*/
int
virStorageFileChainGetBroken(virStorageFileMetadataPtr chain,
@@ -1288,8 +1289,8 @@
virStorageFileChainGetBroken(virStorageFileMetadataPtr chain,
tmp = chain;
while (tmp) {
- /* Break if no backing store, backing store is not file, or
- * other problem such as infinite loop */
+ /* Break when we hit end of chain; report error if we detected
+ * a missing backing file, infinite loop, or other error */
if (!tmp->backingStoreRaw)
break;
if (!tmp->backingStore) {
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 604 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20140410/c8143a08/attachment-0001.sig>
More information about the libvir-list
mailing list