[patch 01/22] fix compile on 32 bit systems

Christoph Hellwig
2008-12-02T16:11:50Z

[-- Attachment #1: xfs-fix-32bit-compile --]
[-- Type: text/plain, Size: 2253 bytes --]

The recent compat patches make xfs_file.c include xfs_ioctl32.h unconditional,
which breaks the build on 32 bit systems which don't have the various compat
defintions.

Remove the include and move the defintion of xfs_file_compat_ioctl to xfs_ioctl.h
so that we can avoid including all the compat defintions in xfs_file.c

Signed-off-by: Christoph Hellwig <hch@lst.de>

Index: xfs-master/fs/xfs/linux-2.6/xfs_file.c
===================================================================
--- xfs-master.orig/fs/xfs/linux-2.6/xfs_file.c 2008-12-02 11:43:38.000000000 +0100
+++ xfs-master/fs/xfs/linux-2.6/xfs_file.c 2008-12-02 11:44:06.000000000 +0100
@@ -36,9 +36,9 @@
#include "xfs_inode.h"
#include "xfs_error.h"
#include "xfs_rw.h"
-#include "xfs_ioctl32.h"
#include "xfs_vnodeops.h"
#include "xfs_da_btree.h"
+#include "xfs_ioctl.h"

#include <linux/dcache.h>
#include <linux/smp_lock.h>
Index: xfs-master/fs/xfs/linux-2.6/xfs_ioctl.h
===================================================================
--- xfs-master.orig/fs/xfs/linux-2.6/xfs_ioctl.h 2008-12-02 11:44:10.000000000 +0100
+++ xfs-master/fs/xfs/linux-2.6/xfs_ioctl.h 2008-12-02 11:44:52.000000000 +0100
@@ -67,4 +67,16 @@ xfs_attrmulti_attr_remove(
char *name,
__uint32_t flags);

+extern long
+xfs_file_compat_ioctl(
+ struct file *file,
+ unsigned int cmd,
+ unsigned long arg);
+
+extern long
+xfs_file_compat_ioctl_invis(
+ struct file *file,
+ unsigned int cmd,
+ unsigned long arg);
+
#endif
Index: xfs-master/fs/xfs/linux-2.6/xfs_ioctl32.h
===================================================================
--- xfs-master.orig/fs/xfs/linux-2.6/xfs_ioctl32.h 2008-12-02 11:44:10.000000000 +0100
+++ xfs-master/fs/xfs/linux-2.6/xfs_ioctl32.h 2008-12-02 11:44:18.000000000 +0100
@@ -20,9 +20,6 @@

#include <linux/compat.h>

-extern long xfs_file_compat_ioctl(struct file *, unsigned, unsigned long);
-extern long xfs_file_compat_invis_ioctl(struct file *, unsigned, unsigned long);
-
/*
* on 32-bit arches, ioctl argument structures may have different sizes
* and/or alignment. We define compat structures which match the