diff options
author | Nathan Scott <nathans@sgi.com> | 2005-05-06 09:44:46 -0400 |
---|---|---|
committer | Christoph Hellwig <hch@melbourne.sgi.com> | 2005-05-06 09:44:46 -0400 |
commit | d3870398fafd4911bd84573b78be4b6b762f32b0 (patch) | |
tree | 4c7821e6893049bd3c01346b072f2e536b657fd9 /fs/xfs | |
parent | 68d1498c3a7e5223b587ad067111fbed12df52a1 (diff) |
[XFS] Fix directory inodes ioctl compat code, minor code consistency cleanups
SGI Modid: xfs-linux:xfs-kern:21810a
Signed-off-by: Nathan Scott <nathans@sgi.com>
Signed-off-by: Christoph Hellwig <hch@sgi.com>
Diffstat (limited to 'fs/xfs')
-rw-r--r-- | fs/xfs/linux-2.6/xfs_file.c | 7 | ||||
-rw-r--r-- | fs/xfs/linux-2.6/xfs_ioctl32.c | 29 | ||||
-rw-r--r-- | fs/xfs/linux-2.6/xfs_ioctl32.h | 6 | ||||
-rw-r--r-- | fs/xfs/linux-2.6/xfs_super.c | 3 |
4 files changed, 28 insertions, 17 deletions
diff --git a/fs/xfs/linux-2.6/xfs_file.c b/fs/xfs/linux-2.6/xfs_file.c index d0d412afd261..24fa3b101b93 100644 --- a/fs/xfs/linux-2.6/xfs_file.c +++ b/fs/xfs/linux-2.6/xfs_file.c | |||
@@ -565,7 +565,7 @@ struct file_operations linvfs_file_operations = { | |||
565 | .sendfile = linvfs_sendfile, | 565 | .sendfile = linvfs_sendfile, |
566 | .unlocked_ioctl = linvfs_ioctl, | 566 | .unlocked_ioctl = linvfs_ioctl, |
567 | #ifdef CONFIG_COMPAT | 567 | #ifdef CONFIG_COMPAT |
568 | .compat_ioctl = xfs_compat_ioctl, | 568 | .compat_ioctl = linvfs_compat_ioctl, |
569 | #endif | 569 | #endif |
570 | .mmap = linvfs_file_mmap, | 570 | .mmap = linvfs_file_mmap, |
571 | .open = linvfs_open, | 571 | .open = linvfs_open, |
@@ -587,7 +587,7 @@ struct file_operations linvfs_invis_file_operations = { | |||
587 | .sendfile = linvfs_sendfile, | 587 | .sendfile = linvfs_sendfile, |
588 | .unlocked_ioctl = linvfs_ioctl_invis, | 588 | .unlocked_ioctl = linvfs_ioctl_invis, |
589 | #ifdef CONFIG_COMPAT | 589 | #ifdef CONFIG_COMPAT |
590 | .compat_ioctl = xfs_compat_invis_ioctl, | 590 | .compat_ioctl = linvfs_compat_invis_ioctl, |
591 | #endif | 591 | #endif |
592 | .mmap = linvfs_file_mmap, | 592 | .mmap = linvfs_file_mmap, |
593 | .open = linvfs_open, | 593 | .open = linvfs_open, |
@@ -600,6 +600,9 @@ struct file_operations linvfs_dir_operations = { | |||
600 | .read = generic_read_dir, | 600 | .read = generic_read_dir, |
601 | .readdir = linvfs_readdir, | 601 | .readdir = linvfs_readdir, |
602 | .unlocked_ioctl = linvfs_ioctl, | 602 | .unlocked_ioctl = linvfs_ioctl, |
603 | #ifdef CONFIG_COMPAT | ||
604 | .compat_ioctl = linvfs_compat_ioctl, | ||
605 | #endif | ||
603 | .fsync = linvfs_fsync, | 606 | .fsync = linvfs_fsync, |
604 | }; | 607 | }; |
605 | 608 | ||
diff --git a/fs/xfs/linux-2.6/xfs_ioctl32.c b/fs/xfs/linux-2.6/xfs_ioctl32.c index 7a12c83184f5..0f8f1384eb36 100644 --- a/fs/xfs/linux-2.6/xfs_ioctl32.c +++ b/fs/xfs/linux-2.6/xfs_ioctl32.c | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (c) 2004 Silicon Graphics, Inc. All Rights Reserved. | 2 | * Copyright (c) 2004-2005 Silicon Graphics, Inc. All Rights Reserved. |
3 | * | 3 | * |
4 | * This program is free software; you can redistribute it and/or modify it | 4 | * This program is free software; you can redistribute it and/or modify it |
5 | * under the terms of version 2 of the GNU General Public License as | 5 | * under the terms of version 2 of the GNU General Public License as |
@@ -58,8 +58,9 @@ typedef struct xfs_fsop_bulkreq32 { | |||
58 | __s32 ocount; /* output count pointer */ | 58 | __s32 ocount; /* output count pointer */ |
59 | } xfs_fsop_bulkreq32_t; | 59 | } xfs_fsop_bulkreq32_t; |
60 | 60 | ||
61 | static unsigned long | 61 | STATIC unsigned long |
62 | xfs_ioctl32_bulkstat(unsigned long arg) | 62 | xfs_ioctl32_bulkstat( |
63 | unsigned long arg) | ||
63 | { | 64 | { |
64 | xfs_fsop_bulkreq32_t __user *p32 = (void __user *)arg; | 65 | xfs_fsop_bulkreq32_t __user *p32 = (void __user *)arg; |
65 | xfs_fsop_bulkreq_t __user *p = compat_alloc_user_space(sizeof(*p)); | 66 | xfs_fsop_bulkreq_t __user *p = compat_alloc_user_space(sizeof(*p)); |
@@ -78,11 +79,11 @@ xfs_ioctl32_bulkstat(unsigned long arg) | |||
78 | } | 79 | } |
79 | #endif | 80 | #endif |
80 | 81 | ||
81 | static long | 82 | STATIC long |
82 | __xfs_compat_ioctl(int mode, struct file *f, unsigned cmd, unsigned long arg) | 83 | __linvfs_compat_ioctl(int mode, struct file *f, unsigned cmd, unsigned long arg) |
83 | { | 84 | { |
84 | int error; | 85 | int error; |
85 | struct inode *inode = f->f_dentry->d_inode; | 86 | struct inode *inode = f->f_dentry->d_inode; |
86 | vnode_t *vp = LINVFS_GET_VP(inode); | 87 | vnode_t *vp = LINVFS_GET_VP(inode); |
87 | 88 | ||
88 | switch (cmd) { | 89 | switch (cmd) { |
@@ -152,12 +153,20 @@ __xfs_compat_ioctl(int mode, struct file *f, unsigned cmd, unsigned long arg) | |||
152 | return error; | 153 | return error; |
153 | } | 154 | } |
154 | 155 | ||
155 | long xfs_compat_ioctl(struct file *f, unsigned cmd, unsigned long arg) | 156 | long |
157 | linvfs_compat_ioctl( | ||
158 | struct file *f, | ||
159 | unsigned cmd, | ||
160 | unsigned long arg) | ||
156 | { | 161 | { |
157 | return __xfs_compat_ioctl(0, f, cmd, arg); | 162 | return __linvfs_compat_ioctl(0, f, cmd, arg); |
158 | } | 163 | } |
159 | 164 | ||
160 | long xfs_compat_invis_ioctl(struct file *f, unsigned cmd, unsigned long arg) | 165 | long |
166 | linvfs_compat_invis_ioctl( | ||
167 | struct file *f, | ||
168 | unsigned cmd, | ||
169 | unsigned long arg) | ||
161 | { | 170 | { |
162 | return __xfs_compat_ioctl(IO_INVIS, f, cmd, arg); | 171 | return __linvfs_compat_ioctl(IO_INVIS, f, cmd, arg); |
163 | } | 172 | } |
diff --git a/fs/xfs/linux-2.6/xfs_ioctl32.h b/fs/xfs/linux-2.6/xfs_ioctl32.h index 779f69a48116..c874793a1dc9 100644 --- a/fs/xfs/linux-2.6/xfs_ioctl32.h +++ b/fs/xfs/linux-2.6/xfs_ioctl32.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (c) 2004 Silicon Graphics, Inc. All Rights Reserved. | 2 | * Copyright (c) 2004-2005 Silicon Graphics, Inc. All Rights Reserved. |
3 | * | 3 | * |
4 | * This program is free software; you can redistribute it and/or modify it | 4 | * This program is free software; you can redistribute it and/or modify it |
5 | * under the terms of version 2 of the GNU General Public License as | 5 | * under the terms of version 2 of the GNU General Public License as |
@@ -30,5 +30,5 @@ | |||
30 | * http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/ | 30 | * http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/ |
31 | */ | 31 | */ |
32 | 32 | ||
33 | long xfs_compat_ioctl(struct file *f, unsigned cmd, unsigned long arg); | 33 | long linvfs_compat_ioctl(struct file *f, unsigned cmd, unsigned long arg); |
34 | long xfs_compat_invis_ioctl(struct file *f, unsigned cmd, unsigned long arg); | 34 | long linvfs_compat_invis_ioctl(struct file *f, unsigned cmd, unsigned long arg); |
diff --git a/fs/xfs/linux-2.6/xfs_super.c b/fs/xfs/linux-2.6/xfs_super.c index 53dc658cafa6..455e2b2fb964 100644 --- a/fs/xfs/linux-2.6/xfs_super.c +++ b/fs/xfs/linux-2.6/xfs_super.c | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (c) 2000-2004 Silicon Graphics, Inc. All Rights Reserved. | 2 | * Copyright (c) 2000-2005 Silicon Graphics, Inc. All Rights Reserved. |
3 | * | 3 | * |
4 | * This program is free software; you can redistribute it and/or modify it | 4 | * This program is free software; you can redistribute it and/or modify it |
5 | * under the terms of version 2 of the GNU General Public License as | 5 | * under the terms of version 2 of the GNU General Public License as |
@@ -66,7 +66,6 @@ | |||
66 | #include "xfs_buf_item.h" | 66 | #include "xfs_buf_item.h" |
67 | #include "xfs_utils.h" | 67 | #include "xfs_utils.h" |
68 | #include "xfs_version.h" | 68 | #include "xfs_version.h" |
69 | #include "xfs_ioctl32.h" | ||
70 | 69 | ||
71 | #include <linux/namei.h> | 70 | #include <linux/namei.h> |
72 | #include <linux/init.h> | 71 | #include <linux/init.h> |