On Fri, Mar 16, 2018 at 12:08:46PM +0100, Peter Krempa wrote:
missing space in summary
On Fri, Mar 16, 2018 at 11:50:01 +0100, Erik Skultety wrote:
> What one currently gets is:
> failed to read '/sys/bus/mdev/devices/<UUID>/mdev_type/device_api':
No
> such file or directory
>
> This indicates that something is missing within the device's sysfs tree
> which likely might be not be the case here because the device simply
> doesn't exist yet. So, when creating our internal mdev obj, let's check
> whether the device exists first prior to trying to verify the
> user-provided model within domain XML.
>
> Signed-off-by: Erik Skultety <eskultet(a)redhat.com>
> ---
> src/util/virmdev.c | 16 +++++++++++++---
> 1 file changed, 13 insertions(+), 3 deletions(-)
>
> diff --git a/src/util/virmdev.c b/src/util/virmdev.c
> index e4816cf20..2e3769aa6 100644
> --- a/src/util/virmdev.c
> +++ b/src/util/virmdev.c
> @@ -150,13 +150,22 @@ virMediatedDeviceNew(const char *uuidstr,
virMediatedDeviceModelType model)
> {
> virMediatedDevicePtr ret = NULL;
> virMediatedDevicePtr dev = NULL;
> + char *sysfspath = NULL;
> +
> + if (!(sysfspath = virMediatedDeviceGetSysfsPath(uuidstr)))
> + goto cleanup;
> +
> + if (!virFileExists(sysfspath)) {
> + virReportSystemError(errno, _("failed to read device
'%s'"),
> + sysfspath);
You did not try to read the device at this point. It merely does not
exist.
Would you like "device '%s' not found" better?
Erik