On Fri, Mar 16, 2018 at 13:13:41 +0100, Erik Skultety wrote:
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?
How about:
"mediated device '%s' not found", uuidstr ?
I don't think that adding the full sysfs path is any helpful since it's
generated from the uuid anyways.