[libvirt] [PATCH 2/2] qemu: don't log error for missing optional sources on start

Nikolay Shirokovskiy nshirokovskiy at virtuozzo.com
Tue Dec 11 07:39:51 UTC 2018



On 11.12.2018 01:05, John Ferlan wrote:
> $SUBJ
> 
> "storage sources"
> 
> On 11/12/18 7:58 AM, Nikolay Shirokovskiy wrote:
>> Because missing optional source is not error. The patch
>> address only local files. Fixing other cases is a bit ugly.
>>
>> Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy at virtuozzo.com>
>> ---
>>  src/qemu/qemu_process.c | 3 ++-
>>  1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
>> index 802274e..5e04bf9 100644
>> --- a/src/qemu/qemu_process.c
>> +++ b/src/qemu/qemu_process.c
>> @@ -6100,7 +6100,8 @@ qemuProcessPrepareHostStorage(virQEMUDriverPtr driver,
>>          if (!blockdev)
>>              virStorageSourceBackingStoreClear(disk->src);
>>  
>> -        if (qemuDomainDetermineDiskChain(driver, vm, disk, true) >= 0)
>> +        if (!qemuProcessMissingLocalOptionalDisk(disk) &&
>> +            qemuDomainDetermineDiskChain(driver, vm, disk, true) >= 0)
> 
> Although it makes more sense for this path to use the startupPolicy, I
> will point out that the first thing qemuDomainDetermineDiskChain does is
> filter on virStorageSourceIsEmpty, so regardless of whether the
> startupPolicy is optional or not, not much is happening for empty
> sources.  So in essence unnecessary at least from my read.

The issue is not with empty (no source file is specified) sources but rather
with missing ones (source file is specified but file itself does not exist).
In this case virStorageSourceIsEmpty does not help and we get this log notice:

error: virStorageFileReportBrokenChain:427 : Cannot access storage file '/path/to/missing/optional/disk': No such file or directory

Which is not fatal for starting a domain because source is optional.

Sorry, I should put error messages in the original letters so you can
easier understand what's going on.

Nikolay

> 
> John
> 
>>              continue;
>>  
>>          if (qemuDomainCheckDiskStartupPolicy(driver, vm, idx, cold_boot) >= 0)
>>




More information about the libvir-list mailing list