aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/feature-removal-schedule.txt9
-rw-r--r--drivers/md/md.c82
-rw-r--r--include/linux/compat_ioctl.h1
-rw-r--r--include/linux/raid/md_u.h2
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
125What: START_ARRAY ioctl for md
126When: July 2006
127Files: drivers/md/md.c
128Why: Not reliable by design - can fail when most needed.
129 Alternatives exist
130Who: NeilBrown <neilb@suse.de>
131
132---------------------------
133
134What: eepro100 network driver 125What: eepro100 network driver
135When: January 2007 126When: January 2007
136Why: replaced by the e100 driver 127Why: 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
3448static 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
3504static int get_version(void __user * arg) 3443static 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)
122ULONG_IOCTL(HOT_ADD_DISK) 122ULONG_IOCTL(HOT_ADD_DISK)
123ULONG_IOCTL(SET_DISK_FAULTY) 123ULONG_IOCTL(SET_DISK_FAULTY)
124COMPATIBLE_IOCTL(RUN_ARRAY) 124COMPATIBLE_IOCTL(RUN_ARRAY)
125ULONG_IOCTL(START_ARRAY)
126COMPATIBLE_IOCTL(STOP_ARRAY) 125COMPATIBLE_IOCTL(STOP_ARRAY)
127COMPATIBLE_IOCTL(STOP_ARRAY_RO) 126COMPATIBLE_IOCTL(STOP_ARRAY_RO)
128COMPATIBLE_IOCTL(RESTART_ARRAY_RW) 127COMPATIBLE_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)