On 11/22/2012 07:50 AM, Peter Krempa wrote: > Commit e0c469e58b93f852a72265919703cb6abd3779f8 that fixes the detection > of image chain wasn't complete. Iteration through the backing image > chain has to stop at the last existing image if some of the images are > missing otherwise the backing chain that is cached contains entries with > paths being set to NULL resulting to: > > error: Unable to allow access for disk path (null): Bad address > > Fortunately stat() is kind enough not to crash when it's presented with > a NULL argument. At least on Linux. > --- > Left meta->backingStoreRaw in place to mark broken chains, added a comment and a warning. > --- > src/util/storage_file.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) ACK. > > diff --git a/src/util/storage_file.c b/src/util/storage_file.c > index 2249212..4417404 100644 > --- a/src/util/storage_file.c > +++ b/src/util/storage_file.c > @@ -728,8 +728,13 @@ virStorageFileGetMetadataFromBuf(int format, > meta->backingStore = absolutePathFromBaseFile(path, backing); > if (meta->backingStore == NULL) { > /* the backing file is (currently) unavailable, treat this > - * file as standalone */ > + * file as standalone: > + * backingStoreRaw is kept to mark broken image chains */ > + meta->backingStoreIsFile = false; > backingFormat = VIR_STORAGE_FILE_NONE; > + VIR_WARN("Backing file '%s' of image '%s' is missing.", > + meta->backingStoreRaw, path); > + > } > } > VIR_FREE(backing); > -- Eric Blake eblake@xxxxxxxxxx +1-919-301-3266 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list