diff options
-rw-r--r-- | Documentation/feature-removal-schedule.txt | 9 | ||||
-rw-r--r-- | drivers/md/md.c | 82 | ||||
-rw-r--r-- | include/linux/compat_ioctl.h | 1 | ||||
-rw-r--r-- | include/linux/raid/md_u.h | 2 |
4 files changed, 1 insertions, 93 deletions
diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt index 57e72e63df09..b98f01fc14bf 100644 --- a/Documentation/feature-removal-schedule.txt +++ b/Documentation/feature-removal-schedule.txt | |||
@@ -122,15 +122,6 @@ Who: Arjan van de Ven | |||
122 | 122 | ||
123 | --------------------------- | 123 | --------------------------- |
124 | 124 | ||
125 | What: START_ARRAY ioctl for md | ||
126 | When: July 2006 | ||
127 | Files: drivers/md/md.c | ||
128 | Why: Not reliable by design - can fail when most needed. | ||
129 | Alternatives exist | ||
130 | Who: NeilBrown <neilb@suse.de> | ||
131 | |||
132 | --------------------------- | ||
133 | |||
134 | What: eepro100 network driver | 125 | What: eepro100 network driver |
135 | When: January 2007 | 126 | When: January 2007 |
136 | Why: replaced by the e100 driver | 127 | Why: replaced by the e100 driver |
diff --git a/drivers/md/md.c b/drivers/md/md.c index 8dbab2ef3885..3af6f1f06020 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c | |||
@@ -3440,67 +3440,6 @@ static void autorun_devices(int part) | |||
3440 | printk(KERN_INFO "md: ... autorun DONE.\n"); | 3440 | printk(KERN_INFO "md: ... autorun DONE.\n"); |
3441 | } | 3441 | } |
3442 | 3442 | ||
3443 | /* | ||
3444 | * import RAID devices based on one partition | ||
3445 | * if possible, the array gets run as well. | ||
3446 | */ | ||
3447 | |||
3448 | static int autostart_array(dev_t startdev) | ||
3449 | { | ||
3450 | char b[BDEVNAME_SIZE]; | ||
3451 | int err = -EINVAL, i; | ||
3452 | mdp_super_t *sb = NULL; | ||
3453 | mdk_rdev_t *start_rdev = NULL, *rdev; | ||
3454 | |||
3455 | start_rdev = md_import_device(startdev, 0, 0); | ||
3456 | if (IS_ERR(start_rdev)) | ||
3457 | return err; | ||
3458 | |||
3459 | |||
3460 | /* NOTE: this can only work for 0.90.0 superblocks */ | ||
3461 | sb = (mdp_super_t*)page_address(start_rdev->sb_page); | ||
3462 | if (sb->major_version != 0 || | ||
3463 | sb->minor_version != 90 ) { | ||
3464 | printk(KERN_WARNING "md: can only autostart 0.90.0 arrays\n"); | ||
3465 | export_rdev(start_rdev); | ||
3466 | return err; | ||
3467 | } | ||
3468 | |||
3469 | if (test_bit(Faulty, &start_rdev->flags)) { | ||
3470 | printk(KERN_WARNING | ||
3471 | "md: can not autostart based on faulty %s!\n", | ||
3472 | bdevname(start_rdev->bdev,b)); | ||
3473 | export_rdev(start_rdev); | ||
3474 | return err; | ||
3475 | } | ||
3476 | list_add(&start_rdev->same_set, &pending_raid_disks); | ||
3477 | |||
3478 | for (i = 0; i < MD_SB_DISKS; i++) { | ||
3479 | mdp_disk_t *desc = sb->disks + i; | ||
3480 | dev_t dev = MKDEV(desc->major, desc->minor); | ||
3481 | |||
3482 | if (!dev) | ||
3483 | continue; | ||
3484 | if (dev == startdev) | ||
3485 | continue; | ||
3486 | if (MAJOR(dev) != desc->major || MINOR(dev) != desc->minor) | ||
3487 | continue; | ||
3488 | rdev = md_import_device(dev, 0, 0); | ||
3489 | if (IS_ERR(rdev)) | ||
3490 | continue; | ||
3491 | |||
3492 | list_add(&rdev->same_set, &pending_raid_disks); | ||
3493 | } | ||
3494 | |||
3495 | /* | ||
3496 | * possibly return codes | ||
3497 | */ | ||
3498 | autorun_devices(0); | ||
3499 | return 0; | ||
3500 | |||
3501 | } | ||
3502 | |||
3503 | |||
3504 | static int get_version(void __user * arg) | 3443 | static int get_version(void __user * arg) |
3505 | { | 3444 | { |
3506 | mdu_version_t ver; | 3445 | mdu_version_t ver; |
@@ -4259,27 +4198,6 @@ static int md_ioctl(struct inode *inode, struct file *file, | |||
4259 | goto abort; | 4198 | goto abort; |
4260 | } | 4199 | } |
4261 | 4200 | ||
4262 | |||
4263 | if (cmd == START_ARRAY) { | ||
4264 | /* START_ARRAY doesn't need to lock the array as autostart_array | ||
4265 | * does the locking, and it could even be a different array | ||
4266 | */ | ||
4267 | static int cnt = 3; | ||
4268 | if (cnt > 0 ) { | ||
4269 | printk(KERN_WARNING | ||
4270 | "md: %s(pid %d) used deprecated START_ARRAY ioctl. " | ||
4271 | "This will not be supported beyond July 2006\n", | ||
4272 | current->comm, current->pid); | ||
4273 | cnt--; | ||
4274 | } | ||
4275 | err = autostart_array(new_decode_dev(arg)); | ||
4276 | if (err) { | ||
4277 | printk(KERN_WARNING "md: autostart failed!\n"); | ||
4278 | goto abort; | ||
4279 | } | ||
4280 | goto done; | ||
4281 | } | ||
4282 | |||
4283 | err = mddev_lock(mddev); | 4201 | err = mddev_lock(mddev); |
4284 | if (err) { | 4202 | if (err) { |
4285 | printk(KERN_INFO | 4203 | printk(KERN_INFO |
diff --git a/include/linux/compat_ioctl.h b/include/linux/compat_ioctl.h index d5b7abc4f409..fad3957728a2 100644 --- a/include/linux/compat_ioctl.h +++ b/include/linux/compat_ioctl.h | |||
@@ -122,7 +122,6 @@ COMPATIBLE_IOCTL(PROTECT_ARRAY) | |||
122 | ULONG_IOCTL(HOT_ADD_DISK) | 122 | ULONG_IOCTL(HOT_ADD_DISK) |
123 | ULONG_IOCTL(SET_DISK_FAULTY) | 123 | ULONG_IOCTL(SET_DISK_FAULTY) |
124 | COMPATIBLE_IOCTL(RUN_ARRAY) | 124 | COMPATIBLE_IOCTL(RUN_ARRAY) |
125 | ULONG_IOCTL(START_ARRAY) | ||
126 | COMPATIBLE_IOCTL(STOP_ARRAY) | 125 | COMPATIBLE_IOCTL(STOP_ARRAY) |
127 | COMPATIBLE_IOCTL(STOP_ARRAY_RO) | 126 | COMPATIBLE_IOCTL(STOP_ARRAY_RO) |
128 | COMPATIBLE_IOCTL(RESTART_ARRAY_RW) | 127 | COMPATIBLE_IOCTL(RESTART_ARRAY_RW) |
diff --git a/include/linux/raid/md_u.h b/include/linux/raid/md_u.h index 81da20ccec4d..7192035fc4b0 100644 --- a/include/linux/raid/md_u.h +++ b/include/linux/raid/md_u.h | |||
@@ -41,7 +41,7 @@ | |||
41 | 41 | ||
42 | /* usage */ | 42 | /* usage */ |
43 | #define RUN_ARRAY _IOW (MD_MAJOR, 0x30, mdu_param_t) | 43 | #define RUN_ARRAY _IOW (MD_MAJOR, 0x30, mdu_param_t) |
44 | #define START_ARRAY _IO (MD_MAJOR, 0x31) | 44 | /* 0x31 was START_ARRAY */ |
45 | #define STOP_ARRAY _IO (MD_MAJOR, 0x32) | 45 | #define STOP_ARRAY _IO (MD_MAJOR, 0x32) |
46 | #define STOP_ARRAY_RO _IO (MD_MAJOR, 0x33) | 46 | #define STOP_ARRAY_RO _IO (MD_MAJOR, 0x33) |
47 | #define RESTART_ARRAY_RW _IO (MD_MAJOR, 0x34) | 47 | #define RESTART_ARRAY_RW _IO (MD_MAJOR, 0x34) |