2007-05-01 04:00:38

by Andi Kleen

[permalink] [raw]
Subject: [PATCH] [24/30] x86_64: Shut up warnings for vfat compat ioctls on other file systems


vfat implements compat handlers for these ioctls, but when they
were executed on other file systems the kernel would still complain
about an unknown compat ioctl. Just declare them as compatible
and let them be rejected when not needed by the normal path.

This makes wine runs a lot quieter

Signed-off-by: Andi Kleen <[email protected]>

---
fs/compat_ioctl.c | 9 +++++++++
1 file changed, 9 insertions(+)

Index: linux/fs/compat_ioctl.c
===================================================================
--- linux.orig/fs/compat_ioctl.c
+++ linux/fs/compat_ioctl.c
@@ -2627,6 +2627,15 @@ COMPATIBLE_IOCTL(LPRESET)
/*LPGETSTATS not implemented, but no kernels seem to compile it in anyways*/
COMPATIBLE_IOCTL(LPGETFLAGS)
HANDLE_IOCTL(LPSETTIMEOUT, lp_timeout_trans)
+
+/* fat 'r' ioctls. These are handled by fat with ->compat_ioctl,
+ but we don't want warnings on other file systems. So declare
+ them as compatible here. */
+#define VFAT_IOCTL_READDIR_BOTH32 _IOR('r', 1, struct compat_dirent[2])
+#define VFAT_IOCTL_READDIR_SHORT32 _IOR('r', 2, struct compat_dirent[2])
+
+IGNORE_IOCTL(VFAT_IOCTL_READDIR_BOTH32)
+IGNORE_IOCTL(VFAT_IOCTL_READDIR_SHORT32)
};

int ioctl_table_size = ARRAY_SIZE(ioctl_start);


2007-05-01 15:46:04

by Chuck Ebbert

[permalink] [raw]
Subject: Re: [PATCH] [24/30] x86_64: Shut up warnings for vfat compat ioctls on other file systems

Andi Kleen wrote:
> vfat implements compat handlers for these ioctls, but when they
> were executed on other file systems the kernel would still complain
> about an unknown compat ioctl. Just declare them as compatible
> and let them be rejected when not needed by the normal path.
>
> This makes wine runs a lot quieter

Does this also restore the original -ENOTTY return code?

The change that made it return -EINVAL broke a few Wine apps.

2007-05-02 10:47:04

by Andi Kleen

[permalink] [raw]
Subject: Re: [PATCH] [24/30] x86_64: Shut up warnings for vfat compat ioctls on other file systems

On Tuesday 01 May 2007 17:45:52 Chuck Ebbert wrote:
> Andi Kleen wrote:
> > vfat implements compat handlers for these ioctls, but when they
> > were executed on other file systems the kernel would still complain
> > about an unknown compat ioctl. Just declare them as compatible
> > and let them be rejected when not needed by the normal path.
> >
> > This makes wine runs a lot quieter
>
> Does this also restore the original -ENOTTY return code?
>
> The change that made it return -EINVAL broke a few Wine apps.

No it's still EINVAL as before. I just eliminated the printks.

I guess one could add a IGNORE_IOCTL_ENOTTY() or somesuch though if it's
really a problem.

-Andi