[dm-devel] [PATCH] 2.4: Move ioctl32 registration out of dm-ioctl.c
Kevin Corry
corryk at us.ibm.com
Fri Feb 28 14:29:01 UTC 2003
Move the ioctl32 registration from dm-ioctl.c to the appropriate arch-specific
ioctl32.c files.
--- linux-2.4.20a/drivers/md/dm-ioctl.c 2003/02/27 22:14:09
+++ linux-2.4.20b/drivers/md/dm-ioctl.c 2003/02/28 20:13:14
@@ -1115,41 +1115,6 @@
};
/*
- * Register 32 bit ioctls on 64bit systems.
- */
-#if defined(CONFIG_PPC64) || defined(CONFIG_SPARC64) || defined(CONFIG_X86_64)
-#include <linux/smp_lock.h>
-#include <asm/ioctl32.h>
-
-static inline void register_ioctl32_cmds(void)
-{
- int i;
-
- lock_kernel();
- for (i = 0; i < ARRAY_SIZE(_ioctls); i++) {
- register_ioctl32_conversion(_IOWR(DM_IOCTL, _ioctls[i].cmd,
- struct dm_ioctl), NULL);
- }
- unlock_kernel();
-}
-
-static inline void unregister_ioctl32_cmds(void)
-{
- int i;
-
- lock_kernel();
- for (i = 0; i < ARRAY_SIZE(_ioctls); i++) {
- unregister_ioctl32_conversion(_IOWR(DM_IOCTL, _ioctls[i].cmd,
- struct dm_ioctl));
- }
- unlock_kernel();
-}
-#else
-static inline void register_ioctl32_cmds(void) {}
-static inline void unregister_ioctl32_cmds(void) {}
-#endif
-
-/*
* Create misc character device and link to DM_DIR/control.
*/
int __init dm_interface_init(void)
@@ -1168,8 +1133,6 @@
return r;
}
- register_ioctl32_cmds();
-
r = devfs_generate_path(_dm_misc.devfs_handle, rname + 3,
sizeof rname - 3);
if (r == -ENOSYS)
@@ -1196,7 +1159,6 @@
return 0;
failed:
- unregister_ioctl32_cmds();
misc_deregister(&_dm_misc);
dm_hash_exit();
return r;
@@ -1204,8 +1166,6 @@
void dm_interface_exit(void)
{
- unregister_ioctl32_cmds();
-
if (misc_deregister(&_dm_misc) < 0)
DMERR("misc_deregister failed for control device");
--- linux-2.4.20a/arch/parisc/kernel/ioctl32.c 2003/02/28 20:00:36
+++ linux-2.4.20b/arch/parisc/kernel/ioctl32.c 2003/02/28 20:01:44
@@ -55,6 +55,7 @@
#define max max */
#include <linux/lvm.h>
#endif /* LVM */
+#include <linux/dm-ioctl.h>
#include <scsi/scsi.h>
/* Ugly hack. */
@@ -3415,6 +3416,18 @@
COMPATIBLE_IOCTL(LV_BMAP)
COMPATIBLE_IOCTL(LV_SNAPSHOT_USE_RATE)
#endif /* LVM */
+/* Device-Mapper */
+COMPATIBLE_IOCTL(DM_VERSION)
+COMPATIBLE_IOCTL(DM_REMOVE_ALL)
+COMPATIBLE_IOCTL(DM_DEV_CREATE)
+COMPATIBLE_IOCTL(DM_DEV_REMOVE)
+COMPATIBLE_IOCTL(DM_DEV_RELOAD)
+COMPATIBLE_IOCTL(DM_DEV_SUSPEND)
+COMPATIBLE_IOCTL(DM_DEV_RENAME)
+COMPATIBLE_IOCTL(DM_DEV_DEPS)
+COMPATIBLE_IOCTL(DM_DEV_STATUS)
+COMPATIBLE_IOCTL(DM_TARGET_STATUS)
+COMPATIBLE_IOCTL(DM_TARGET_WAIT)
#if defined(CONFIG_DRM) || defined(CONFIG_DRM_MODULE)
COMPATIBLE_IOCTL(DRM_IOCTL_GET_MAGIC)
COMPATIBLE_IOCTL(DRM_IOCTL_IRQ_BUSID)
--- linux-2.4.20a/arch/ppc64/kernel/ioctl32.c 2003/02/28 20:02:36
+++ linux-2.4.20b/arch/ppc64/kernel/ioctl32.c 2003/02/28 20:08:08
@@ -66,6 +66,7 @@
#if defined(CONFIG_BLK_DEV_LVM) || defined(CONFIG_BLK_DEV_LVM_MODULE)
#include <linux/lvm.h>
#endif /* LVM */
+#include <linux/dm-ioctl.h>
#include <scsi/scsi.h>
/* Ugly hack. */
@@ -4280,6 +4281,18 @@
COMPATIBLE_IOCTL(LV_BMAP),
COMPATIBLE_IOCTL(LV_SNAPSHOT_USE_RATE),
#endif /* LVM */
+/* Device-Mapper */
+COMPATIBLE_IOCTL(DM_VERSION)
+COMPATIBLE_IOCTL(DM_REMOVE_ALL)
+COMPATIBLE_IOCTL(DM_DEV_CREATE)
+COMPATIBLE_IOCTL(DM_DEV_REMOVE)
+COMPATIBLE_IOCTL(DM_DEV_RELOAD)
+COMPATIBLE_IOCTL(DM_DEV_SUSPEND)
+COMPATIBLE_IOCTL(DM_DEV_RENAME)
+COMPATIBLE_IOCTL(DM_DEV_DEPS)
+COMPATIBLE_IOCTL(DM_DEV_STATUS)
+COMPATIBLE_IOCTL(DM_TARGET_STATUS)
+COMPATIBLE_IOCTL(DM_TARGET_WAIT)
#if defined(CONFIG_DRM) || defined(CONFIG_DRM_MODULE)
COMPATIBLE_IOCTL(DRM_IOCTL_GET_MAGIC),
COMPATIBLE_IOCTL(DRM_IOCTL_IRQ_BUSID),
--- linux-2.4.20a/arch/sparc64/kernel/ioctl32.c 2003/02/28 20:08:38
+++ linux-2.4.20b/arch/sparc64/kernel/ioctl32.c 2003/02/28 20:09:56
@@ -55,6 +55,7 @@
#if defined(CONFIG_BLK_DEV_LVM) || defined(CONFIG_BLK_DEV_LVM_MODULE)
#include <linux/lvm.h>
#endif /* LVM */
+#include <linux/dm-ioctl.h>
#include <scsi/scsi.h>
/* Ugly hack. */
@@ -4930,6 +4931,18 @@
COMPATIBLE_IOCTL(LV_BMAP)
COMPATIBLE_IOCTL(LV_SNAPSHOT_USE_RATE)
#endif /* LVM */
+/* Device-Mapper */
+COMPATIBLE_IOCTL(DM_VERSION)
+COMPATIBLE_IOCTL(DM_REMOVE_ALL)
+COMPATIBLE_IOCTL(DM_DEV_CREATE)
+COMPATIBLE_IOCTL(DM_DEV_REMOVE)
+COMPATIBLE_IOCTL(DM_DEV_RELOAD)
+COMPATIBLE_IOCTL(DM_DEV_SUSPEND)
+COMPATIBLE_IOCTL(DM_DEV_RENAME)
+COMPATIBLE_IOCTL(DM_DEV_DEPS)
+COMPATIBLE_IOCTL(DM_DEV_STATUS)
+COMPATIBLE_IOCTL(DM_TARGET_STATUS)
+COMPATIBLE_IOCTL(DM_TARGET_WAIT)
#if defined(CONFIG_DRM_NEW) || defined(CONFIG_DRM_NEW_MODULE)
COMPATIBLE_IOCTL(DRM_IOCTL_GET_MAGIC)
COMPATIBLE_IOCTL(DRM_IOCTL_IRQ_BUSID)
--- linux-2.4.20a/arch/x86_64/ia32/ia32_ioctl.c 2003/02/28 20:10:35
+++ linux-2.4.20b/arch/x86_64/ia32/ia32_ioctl.c 2003/02/28 20:11:46
@@ -62,6 +62,7 @@
#define max max
#include <linux/lvm.h>
#endif /* LVM */
+#include <linux/dm-ioctl.h>
#include <scsi/scsi.h>
/* Ugly hack. */
@@ -3776,6 +3777,18 @@
COMPATIBLE_IOCTL(LV_BMAP)
COMPATIBLE_IOCTL(LV_SNAPSHOT_USE_RATE)
#endif /* LVM */
+/* Device-Mapper */
+COMPATIBLE_IOCTL(DM_VERSION)
+COMPATIBLE_IOCTL(DM_REMOVE_ALL)
+COMPATIBLE_IOCTL(DM_DEV_CREATE)
+COMPATIBLE_IOCTL(DM_DEV_REMOVE)
+COMPATIBLE_IOCTL(DM_DEV_RELOAD)
+COMPATIBLE_IOCTL(DM_DEV_SUSPEND)
+COMPATIBLE_IOCTL(DM_DEV_RENAME)
+COMPATIBLE_IOCTL(DM_DEV_DEPS)
+COMPATIBLE_IOCTL(DM_DEV_STATUS)
+COMPATIBLE_IOCTL(DM_TARGET_STATUS)
+COMPATIBLE_IOCTL(DM_TARGET_WAIT)
#if defined(CONFIG_DRM) || defined(CONFIG_DRM_MODULE)
COMPATIBLE_IOCTL(DRM_IOCTL_GET_MAGIC)
COMPATIBLE_IOCTL(DRM_IOCTL_IRQ_BUSID)
More information about the dm-devel
mailing list