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);
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.
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