diff options
| author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-09-30 15:07:01 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-09-30 15:07:01 -0400 |
| commit | 56f29d7fe452890eeeb7f2b0138b2d95b9745fb6 (patch) | |
| tree | 01b6b70297c53c9beb8d11eb186fbad9c166b1a2 /fs/ext2/ioctl.c | |
| parent | e823aff2d6eb43083abcc75a32ddfb167c324089 (diff) | |
| parent | 059af497c23492cb1ddcbba11c09dad385960bc0 (diff) | |
Merge branch 'block' of git://brick.kernel.dk/data/git/linux-2.6-block
* 'block' of git://brick.kernel.dk/data/git/linux-2.6-block: (67 commits)
[PATCH] blk_queue_start_tag() shared map race fix
[PATCH] Update axboe@suse.de email address
[PATCH] fix creating zero sized bio mempools in low memory system
[PATCH] CONFIG_BLOCK: blk_congestion_wait() fix
[PATCH] CONFIG_BLOCK internal.h cleanups
[PATCH] BLOCK: Make USB storage depend on SCSI rather than selecting it [try #6]
[PATCH] BLOCK: Make it possible to disable the block layer [try #6]
[PATCH] BLOCK: Remove no-longer necessary linux/buffer_head.h inclusions [try #6]
[PATCH] BLOCK: Remove no-longer necessary linux/mpage.h inclusions [try #6]
[PATCH] BLOCK: Move the msdos device ioctl compat stuff to the msdos driver [try #6]
[PATCH] BLOCK: Move the Ext3 device ioctl compat stuff to the Ext3 driver [try #6]
[PATCH] BLOCK: Move the Ext2 device ioctl compat stuff to the Ext2 driver [try #6]
[PATCH] BLOCK: Move the ReiserFS device ioctl compat stuff to the ReiserFS driver [try #6]
[PATCH] BLOCK: Move common FS-specific ioctls to linux/fs.h [try #6]
[PATCH] BLOCK: Move the loop device ioctl compat stuff to the loop driver [try #6]
[PATCH] BLOCK: Move __invalidate_device() to block_dev.c [try #6]
[PATCH] BLOCK: Dissociate generic_writepages() from mpage stuff [try #6]
[PATCH] BLOCK: Remove dependence on existence of blockdev_superblock [try #6]
[PATCH] BLOCK: Move extern declarations out of fs/*.c into header files [try #6]
[PATCH] BLOCK: Don't call block_sync_page() from AFS [try #6]
...
Diffstat (limited to 'fs/ext2/ioctl.c')
| -rw-r--r-- | fs/ext2/ioctl.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/fs/ext2/ioctl.c b/fs/ext2/ioctl.c index 3ca9afdf713d..1dfba77eab10 100644 --- a/fs/ext2/ioctl.c +++ b/fs/ext2/ioctl.c | |||
| @@ -11,6 +11,8 @@ | |||
| 11 | #include <linux/capability.h> | 11 | #include <linux/capability.h> |
| 12 | #include <linux/time.h> | 12 | #include <linux/time.h> |
| 13 | #include <linux/sched.h> | 13 | #include <linux/sched.h> |
| 14 | #include <linux/compat.h> | ||
| 15 | #include <linux/smp_lock.h> | ||
| 14 | #include <asm/current.h> | 16 | #include <asm/current.h> |
| 15 | #include <asm/uaccess.h> | 17 | #include <asm/uaccess.h> |
| 16 | 18 | ||
| @@ -80,3 +82,33 @@ int ext2_ioctl (struct inode * inode, struct file * filp, unsigned int cmd, | |||
| 80 | return -ENOTTY; | 82 | return -ENOTTY; |
| 81 | } | 83 | } |
| 82 | } | 84 | } |
| 85 | |||
| 86 | #ifdef CONFIG_COMPAT | ||
| 87 | long ext2_compat_ioctl(struct file *file, unsigned int cmd, unsigned long arg) | ||
| 88 | { | ||
| 89 | struct inode *inode = file->f_dentry->d_inode; | ||
| 90 | int ret; | ||
| 91 | |||
| 92 | /* These are just misnamed, they actually get/put from/to user an int */ | ||
| 93 | switch (cmd) { | ||
| 94 | case EXT2_IOC32_GETFLAGS: | ||
| 95 | cmd = EXT2_IOC_GETFLAGS; | ||
| 96 | break; | ||
| 97 | case EXT2_IOC32_SETFLAGS: | ||
| 98 | cmd = EXT2_IOC_SETFLAGS; | ||
| 99 | break; | ||
| 100 | case EXT2_IOC32_GETVERSION: | ||
| 101 | cmd = EXT2_IOC_GETVERSION; | ||
| 102 | break; | ||
| 103 | case EXT2_IOC32_SETVERSION: | ||
| 104 | cmd = EXT2_IOC_SETVERSION; | ||
| 105 | break; | ||
| 106 | default: | ||
| 107 | return -ENOIOCTLCMD; | ||
| 108 | } | ||
| 109 | lock_kernel(); | ||
| 110 | ret = ext2_ioctl(inode, file, cmd, (unsigned long) compat_ptr(arg)); | ||
| 111 | unlock_kernel(); | ||
| 112 | return ret; | ||
| 113 | } | ||
| 114 | #endif | ||
