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(a)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)
>