> -----Original Message----- > From: Jason Wang <jasowang@xxxxxxxxxx> > Sent: Sunday, October 8, 2023 12:36 PM > To: Liming Wu <liming.wu@xxxxxxxxxxxxxxx> > Cc: Michael S . Tsirkin <mst@xxxxxxxxxx>; kvm@xxxxxxxxxxxxxxx; > virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx; linux- > kernel@xxxxxxxxxxxxxxx; 398776277@xxxxxx > Subject: Re: [PATCH 2/2] tools/virtio: Add hints when module is not installed > > On Tue, Sep 26, 2023 at 1:00 PM <liming.wu@xxxxxxxxxxxxxxx> wrote: > > > > From: Liming Wu <liming.wu@xxxxxxxxxxxxxxx> > > > > Need to insmod vhost_test.ko before run virtio_test. > > Give some hints to users. > > > > Signed-off-by: Liming Wu <liming.wu@xxxxxxxxxxxxxxx> > > --- > > tools/virtio/virtio_test.c | 4 ++++ > > 1 file changed, 4 insertions(+) > > > > diff --git a/tools/virtio/virtio_test.c b/tools/virtio/virtio_test.c > > index 028f54e6854a..ce2c4d93d735 100644 > > --- a/tools/virtio/virtio_test.c > > +++ b/tools/virtio/virtio_test.c > > @@ -135,6 +135,10 @@ static void vdev_info_init(struct vdev_info* dev, > unsigned long long features) > > dev->buf = malloc(dev->buf_size); > > assert(dev->buf); > > dev->control = open("/dev/vhost-test", O_RDWR); > > + > > + if (dev->control < 0) > > + fprintf(stderr, "Install vhost_test module" \ > > + "(./vhost_test/vhost_test.ko) firstly\n"); > > There should be many other reasons to fail for open(). > > Let's use strerror()? Yes, Thanks for the review. Please rechecked the code as follow: --- a/tools/virtio/virtio_test.c +++ b/tools/virtio/virtio_test.c @@ -135,6 +135,11 @@ static void vdev_info_init(struct vdev_info* dev, unsigned long long features) dev->buf = malloc(dev->buf_size); assert(dev->buf); dev->control = open("/dev/vhost-test", O_RDWR); + + if (dev->control == NULL) + fprintf(stderr, + "%s: Check whether vhost_test.ko is installed.\n", + strerror(errno)); assert(dev->control >= 0); r = ioctl(dev->control, VHOST_SET_OWNER, NULL); assert(r >= 0); Thanks