On 12/11/18 2:39 AM, Nikolay Shirokovskiy wrote: > > > 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@xxxxxxxxxxxxx> >>> --- >>> 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. But, but not logging it how would someone know that it's missing otherwise? Maybe seeing that message in a log file draws someone's attention to the fact that their source went missing and even though it is optional, they may be surprised that the file isn't there. This is one of those hard one's where it's difficult to read the minds of all consumers. Damned by some if you do log and damned by others if you don't log. I'd prefer to err on the side of logging the message because it's easier to ignore something that you know about than it is to not be told about something and then wonder why you weren't told. Of course that's just one person's opinion. > > Sorry, I should put error messages in the original letters so you can > easier understand what's going on. Yes, that does help especially in edge cases. John > > Nikolay > >> >> John >> >>> continue; >>> >>> if (qemuDomainCheckDiskStartupPolicy(driver, vm, idx, cold_boot) >= 0) >>> -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list