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 | |
| 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>
| -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> |
