[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Test report for xen-unstable and qemu-xen



On Tue, Jul 2, 2013 at 2:07 AM, Jan Beulich <JBeulich@xxxxxxxx> wrote:
>>>> On 01.07.13 at 15:50, Stefano Stabellini 
>>>> <stefano.stabellini@xxxxxxxxxxxxx> wrote:
>> On Mon, 1 Jul 2013, Fabio Fantoni wrote:
>>> - on W7 pro 64 bit domU error in the begin of qemu log, while domU seem to
>>> work:
>>> xc: error: linux_gnttab_set_max_grants: ioctl SET_MAX_GRANTS failed (22 =
>>> Invalid argument): Internal error
>>> xen be: qdisk-832: xc_gnttab_set_max_grants failed: Invalid argument
>>> -------------------------
>>
>> This is an harmless message if you are running a pvops kernel, it only
>> indicates a problem if you are running on a SUSE kernel.
>>
>> Jan, could we figure out from the return code whether it was a real
>> problem and only print an error in that case?
>> I think that users might get confused otherwise.
>
> This is supposed to happen already, by special casing the ENOTTY
> errno value. Question is why EINVAL is being seen here instead.

Probably because
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/fs/ioctl.c?id=07d106d0a33d6063d2061305903deb02489eba20
only went in time for Linux 3.3 (it's not in my Debian unstable, for example).

I personally use the patch below to keep a clean log (I see this
message too), but I'm sure it would be NAK'd for continuing the
ENOTTY/EINVAL confusion and making legitmate EINVALs disappear.
Perhaps instead the message could be softened from an error to a
warning?

- Matthew


From 8a47313339e4778e0cb282ad5b60da1449c8da34 Mon Sep 17 00:00:00 2001
From: Matthew Daley <mattjd@xxxxxxxxx>
Date: Thu, 23 May 2013 18:26:36 +1200
Subject: [PATCH] libxc: actually ignore missing ioctl in
 linux_gnttab_set_max_grants on Linux <= 3.2

Linux 3.2 and earlier (incorrectly) convert the ENOIOCTLCMD returned by
gntdev's ioctl handler to EINVAL instead of ENOTTY.

Handle this in linux_gnttab_set_max_grants, otherwise false negatives
can lead to misleading error messages, like one logged by qemu when a
qemu-backed xen virtual disk is created.

Signed-off-by: Matthew Daley <mattjd@xxxxxxxxx>
---
 tools/libxc/xc_linux_osdep.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/tools/libxc/xc_linux_osdep.c b/tools/libxc/xc_linux_osdep.c
index 73860a2..3f85054 100644
--- a/tools/libxc/xc_linux_osdep.c
+++ b/tools/libxc/xc_linux_osdep.c
@@ -573,8 +573,10 @@ static int linux_gnttab_set_max_grants(xc_gnttab
*xch, xc_osdep_handle h,
         /*
          * Newer (e.g. pv-ops) kernels don't implement this IOCTL,
          * so ignore the resulting specific failure.
+         * gntdev in <= 3.2 kernels returns EINVAL instead of ENOTTY on
+         * unknown IOCTLs.
          */
-        if (errno == ENOTTY)
+        if (errno == ENOTTY || errno == EINVAL)
             rc = 0;
         else
             PERROR("linux_gnttab_set_max_grants: ioctl SET_MAX_GRANTS failed");
--
1.7.10.4

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.