From: "Michael S. Tsirkin" <mst@redhat.com>
To: Liming Wu <liming.wu@jaguarmicro.com>
Cc: Jason Wang <jasowang@redhat.com>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
"virtualization@lists.linux-foundation.org"
<virtualization@lists.linux-foundation.org>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"398776277@qq.com" <398776277@qq.com>
Subject: Re: [PATCH 2/2] tools/virtio: Add hints when module is not installed
Date: Mon, 9 Oct 2023 06:52:32 -0400 [thread overview]
Message-ID: <20231009063735-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <PSAPR06MB3942238B1D7218934A2BB8B4E1CEA@PSAPR06MB3942.apcprd06.prod.outlook.com>
On Mon, Oct 09, 2023 at 02:44:55AM +0000, Liming Wu wrote:
>
>
> > -----Original Message-----
> > From: Jason Wang <jasowang@redhat.com>
> > Sent: Sunday, October 8, 2023 12:36 PM
> > To: Liming Wu <liming.wu@jaguarmicro.com>
> > Cc: Michael S . Tsirkin <mst@redhat.com>; kvm@vger.kernel.org;
> > virtualization@lists.linux-foundation.org; netdev@vger.kernel.org; linux-
> > kernel@vger.kernel.org; 398776277@qq.com
> > 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@jaguarmicro.com> wrote:
> > >
> > > From: Liming Wu <liming.wu@jaguarmicro.com>
> > >
> > > Need to insmod vhost_test.ko before run virtio_test.
> > > Give some hints to users.
> > >
> > > Signed-off-by: Liming Wu <liming.wu@jaguarmicro.com>
> > > ---
> > > 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)
???
Why are you comparing a file descriptor to NULL?
> + fprintf(stderr,
> + "%s: Check whether vhost_test.ko is installed.\n",
> + strerror(errno));
No, do not suggest checking unconditionally this is just wasting user's
time. You would have to check the exact errno value. You will either
get ENOENT or ENODEV if module is not loaded. Other errors indicate
other problems. And what matters is whether it's loaded, not installed
- vhost_test.ko will not get auto-loaded even if installed.
> assert(dev->control >= 0);
> r = ioctl(dev->control, VHOST_SET_OWNER, NULL);
> assert(r >= 0);
>
> Thanks
>
In short, I am not applying this patch. If you really want to make
things a bit easier in case of errors, replace all assert r >= 0 with
a macro that prints out strerror(errno), that should be enough.
Maybe print file/line number too while we are at it.
--
MST
next prev parent reply other threads:[~2023-10-09 10:52 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-26 5:00 [PATCH 1/2] tools/virtio: Add dma sync api for virtio test liming.wu
2023-09-26 5:00 ` [PATCH 2/2] tools/virtio: Add hints when module is not installed liming.wu
2023-09-27 15:20 ` Michael S. Tsirkin
2023-10-07 6:55 ` [PATCH v2 1/2] tools/virtio: Add dma sync api for virtio test liming.wu
2023-10-07 6:55 ` [PATCH v2 2/2] tools/virtio: Add hints when module is not installed liming.wu
2023-10-08 2:19 ` [PATCH v2 1/2] tools/virtio: Add dma sync api for virtio test Xuan Zhuo
2023-10-08 3:03 ` Liming Wu
2023-10-08 4:35 ` [PATCH 2/2] tools/virtio: Add hints when module is not installed Jason Wang
2023-10-09 2:44 ` Liming Wu
2023-10-09 10:52 ` Michael S. Tsirkin [this message]
2023-10-08 4:37 ` [PATCH 1/2] tools/virtio: Add dma sync api for virtio test Jason Wang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231009063735-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=398776277@qq.com \
--cc=jasowang@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=liming.wu@jaguarmicro.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=virtualization@lists.linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).