fs: compat_ioctl: move FITRIM emulation into file systems
Remove the special case for FITRIM, and make file systems handle that like all other ioctl commands with their own handlers. Cc: linux-ext4@vger.kernel.org Cc: linux-f2fs-devel@lists.sourceforge.net Cc: Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz> Cc: linux-nilfs@vger.kernel.org Cc: ocfs2-devel@oss.oracle.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
parent
8d09807048
commit
314999dcbc
|
@ -345,8 +345,6 @@ static int ppp_scompress(struct file *file, unsigned int cmd,
|
|||
static unsigned int ioctl_pointer[] = {
|
||||
/* Little t */
|
||||
COMPATIBLE_IOCTL(TIOCOUTQ)
|
||||
/* 'X' - originally XFS but some now in the VFS */
|
||||
COMPATIBLE_IOCTL(FITRIM)
|
||||
#ifdef CONFIG_BLOCK
|
||||
/* Big S */
|
||||
COMPATIBLE_IOCTL(SCSI_IOCTL_GET_IDLUN)
|
||||
|
|
|
@ -378,6 +378,7 @@ ecryptfs_compat_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
|
|||
return rc;
|
||||
|
||||
switch (cmd) {
|
||||
case FITRIM:
|
||||
case FS_IOC32_GETFLAGS:
|
||||
case FS_IOC32_SETFLAGS:
|
||||
case FS_IOC32_GETVERSION:
|
||||
|
|
|
@ -1360,6 +1360,7 @@ long ext4_compat_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
|
|||
}
|
||||
case EXT4_IOC_MOVE_EXT:
|
||||
case EXT4_IOC_RESIZE_FS:
|
||||
case FITRIM:
|
||||
case EXT4_IOC_PRECACHE_EXTENTS:
|
||||
case EXT4_IOC_SET_ENCRYPTION_POLICY:
|
||||
case EXT4_IOC_GET_ENCRYPTION_PWSALT:
|
||||
|
|
|
@ -3403,6 +3403,7 @@ long f2fs_compat_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
|
|||
case F2FS_IOC_RELEASE_VOLATILE_WRITE:
|
||||
case F2FS_IOC_ABORT_VOLATILE_WRITE:
|
||||
case F2FS_IOC_SHUTDOWN:
|
||||
case FITRIM:
|
||||
case F2FS_IOC_SET_ENCRYPTION_POLICY:
|
||||
case F2FS_IOC_GET_ENCRYPTION_PWSALT:
|
||||
case F2FS_IOC_GET_ENCRYPTION_POLICY:
|
||||
|
|
|
@ -325,4 +325,5 @@ const struct file_operations hpfs_dir_ops =
|
|||
.release = hpfs_dir_release,
|
||||
.fsync = hpfs_file_fsync,
|
||||
.unlocked_ioctl = hpfs_ioctl,
|
||||
.compat_ioctl = compat_ptr_ioctl,
|
||||
};
|
||||
|
|
|
@ -215,6 +215,7 @@ const struct file_operations hpfs_file_ops =
|
|||
.fsync = hpfs_file_fsync,
|
||||
.splice_read = generic_file_splice_read,
|
||||
.unlocked_ioctl = hpfs_ioctl,
|
||||
.compat_ioctl = compat_ptr_ioctl,
|
||||
};
|
||||
|
||||
const struct inode_operations hpfs_file_iops =
|
||||
|
|
|
@ -1354,6 +1354,7 @@ long nilfs_compat_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
|
|||
case NILFS_IOCTL_SYNC:
|
||||
case NILFS_IOCTL_RESIZE:
|
||||
case NILFS_IOCTL_SET_ALLOC_RANGE:
|
||||
case FITRIM:
|
||||
break;
|
||||
default:
|
||||
return -ENOIOCTLCMD;
|
||||
|
|
|
@ -985,6 +985,7 @@ long ocfs2_compat_ioctl(struct file *file, unsigned cmd, unsigned long arg)
|
|||
return -EFAULT;
|
||||
|
||||
return ocfs2_info_handle(inode, &info, 1);
|
||||
case FITRIM:
|
||||
case OCFS2_IOC_MOVE_EXT:
|
||||
break;
|
||||
default:
|
||||
|
|
Loading…
Reference in New Issue