The patch titled md: the scheduled removal of the START_ARRAY ioctl for md has been added to the -mm tree. Its filename is md-the-scheduled-removal-of-the-start_array-ioctl-for-md.patch See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: md: the scheduled removal of the START_ARRAY ioctl for md From: Adrian Bunk <bunk@xxxxxxxxx> This patch contains the scheduled removal of the START_ARRAY ioctl for md. Signed-off-by: Adrian Bunk <bunk@xxxxxxxxx> Signed-off-by: Neil Brown <neilb@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- Documentation/feature-removal-schedule.txt | 9 -- drivers/md/md.c | 82 ------------------- include/linux/compat_ioctl.h | 1 include/linux/raid/md_u.h | 2 4 files changed, 1 insertion(+), 93 deletions(-) diff -puN Documentation/feature-removal-schedule.txt~md-the-scheduled-removal-of-the-start_array-ioctl-for-md Documentation/feature-removal-schedule.txt --- a/Documentation/feature-removal-schedule.txt~md-the-scheduled-removal-of-the-start_array-ioctl-for-md +++ a/Documentation/feature-removal-schedule.txt @@ -104,15 +104,6 @@ Who: Arjan van de Ven --------------------------- -What: START_ARRAY ioctl for md -When: July 2006 -Files: drivers/md/md.c -Why: Not reliable by design - can fail when most needed. - Alternatives exist -Who: NeilBrown <neilb@xxxxxxx> - ---------------------------- - What: eepro100 network driver When: January 2007 Why: replaced by the e100 driver diff -puN drivers/md/md.c~md-the-scheduled-removal-of-the-start_array-ioctl-for-md drivers/md/md.c --- a/drivers/md/md.c~md-the-scheduled-removal-of-the-start_array-ioctl-for-md +++ a/drivers/md/md.c @@ -3427,67 +3427,6 @@ static void autorun_devices(int part) printk(KERN_INFO "md: ... autorun DONE.\n"); } -/* - * import RAID devices based on one partition - * if possible, the array gets run as well. - */ - -static int autostart_array(dev_t startdev) -{ - char b[BDEVNAME_SIZE]; - int err = -EINVAL, i; - mdp_super_t *sb = NULL; - mdk_rdev_t *start_rdev = NULL, *rdev; - - start_rdev = md_import_device(startdev, 0, 0); - if (IS_ERR(start_rdev)) - return err; - - - /* NOTE: this can only work for 0.90.0 superblocks */ - sb = (mdp_super_t*)page_address(start_rdev->sb_page); - if (sb->major_version != 0 || - sb->minor_version != 90 ) { - printk(KERN_WARNING "md: can only autostart 0.90.0 arrays\n"); - export_rdev(start_rdev); - return err; - } - - if (test_bit(Faulty, &start_rdev->flags)) { - printk(KERN_WARNING - "md: can not autostart based on faulty %s!\n", - bdevname(start_rdev->bdev,b)); - export_rdev(start_rdev); - return err; - } - list_add(&start_rdev->same_set, &pending_raid_disks); - - for (i = 0; i < MD_SB_DISKS; i++) { - mdp_disk_t *desc = sb->disks + i; - dev_t dev = MKDEV(desc->major, desc->minor); - - if (!dev) - continue; - if (dev == startdev) - continue; - if (MAJOR(dev) != desc->major || MINOR(dev) != desc->minor) - continue; - rdev = md_import_device(dev, 0, 0); - if (IS_ERR(rdev)) - continue; - - list_add(&rdev->same_set, &pending_raid_disks); - } - - /* - * possibly return codes - */ - autorun_devices(0); - return 0; - -} - - static int get_version(void __user * arg) { mdu_version_t ver; @@ -4246,27 +4185,6 @@ static int md_ioctl(struct inode *inode, goto abort; } - - if (cmd == START_ARRAY) { - /* START_ARRAY doesn't need to lock the array as autostart_array - * does the locking, and it could even be a different array - */ - static int cnt = 3; - if (cnt > 0 ) { - printk(KERN_WARNING - "md: %s(pid %d) used deprecated START_ARRAY ioctl. " - "This will not be supported beyond July 2006\n", - current->comm, current->pid); - cnt--; - } - err = autostart_array(new_decode_dev(arg)); - if (err) { - printk(KERN_WARNING "md: autostart failed!\n"); - goto abort; - } - goto done; - } - err = mddev_lock(mddev); if (err) { printk(KERN_INFO diff -puN include/linux/compat_ioctl.h~md-the-scheduled-removal-of-the-start_array-ioctl-for-md include/linux/compat_ioctl.h --- a/include/linux/compat_ioctl.h~md-the-scheduled-removal-of-the-start_array-ioctl-for-md +++ a/include/linux/compat_ioctl.h @@ -120,7 +120,6 @@ COMPATIBLE_IOCTL(PROTECT_ARRAY) ULONG_IOCTL(HOT_ADD_DISK) ULONG_IOCTL(SET_DISK_FAULTY) COMPATIBLE_IOCTL(RUN_ARRAY) -ULONG_IOCTL(START_ARRAY) COMPATIBLE_IOCTL(STOP_ARRAY) COMPATIBLE_IOCTL(STOP_ARRAY_RO) COMPATIBLE_IOCTL(RESTART_ARRAY_RW) diff -puN include/linux/raid/md_u.h~md-the-scheduled-removal-of-the-start_array-ioctl-for-md include/linux/raid/md_u.h --- a/include/linux/raid/md_u.h~md-the-scheduled-removal-of-the-start_array-ioctl-for-md +++ a/include/linux/raid/md_u.h @@ -41,7 +41,7 @@ /* usage */ #define RUN_ARRAY _IOW (MD_MAJOR, 0x30, mdu_param_t) -#define START_ARRAY _IO (MD_MAJOR, 0x31) +/* 0x31 was START_ARRAY */ #define STOP_ARRAY _IO (MD_MAJOR, 0x32) #define STOP_ARRAY_RO _IO (MD_MAJOR, 0x33) #define RESTART_ARRAY_RW _IO (MD_MAJOR, 0x34) _ Patches currently in -mm which might be from bunk@xxxxxxxxx are gpio-rename-exported-vtables-to-better-match-tidy.patch drivers-edac-edac_mch-must-include-linux-platform_deviceh.patch git-cpufreq.patch git-dvb.patch git-gfs2.patch if-0-drivers-usb-input-hid-corechid_find_field_by_usage.patch git-libata-all.patch git-mtd.patch drivers-net-e1000-possible-cleanups.patch lockdep-split-the-skb_queue_head_init-lock-class-tidy.patch security-selinux-hooksc-make-4-functions-static.patch git-nfs.patch fs-nfs-make-code-static.patch git-ocfs2.patch git-pcmcia.patch include-scsi-libsash-should-include-linux-scatterlisth.patch gregkh-pci-acpiphp-configure-_prt-v3-cleanup.patch git-scsi-misc.patch drivers-scsi-aic7xxx-possible-cleanups.patch drivers-scsi-small-cleanups.patch drivers-scsi-qla2xxx-make-some-functions-static.patch drivers-scsi-aic7xxx-aic79xx_corec-make-ahd_match_scb-static.patch drivers-scsi-aic7xxx-possible-cleanups-2.patch drivers-scsi-advansysc-cleanups.patch make-drivers-scsi-aic7xxx-aic79xx_coreahd_set_tags-static.patch megaraid-fix-warnings-when-config_proc_fs=n.patch git-cryptodev.patch mm-make-functions-static.patch acx1xx-wireless-driver.patch add-force-of-use-mmconfig-fix-2.patch drivers-edac-make-code-static.patch inode-diet-eliminate-i_blksize-and-use-a-per-superblock-default-fix.patch reiserfs-warn-about-the-useless-nolargeio-option.patch x86-microcode-add-sysfs-and-hotplug-support-fix-fix-2.patch drivers-char-scx200_gpioc-make-code-static.patch drivers-char-pc8736x_gpioc-remove-unused-static-functions.patch fs-ecryptfs-possible-cleanups.patch ecryptfs-add-a-maintainers-entry.patch make-kernel-sysctlc_proc_do_string-static.patch namespaces-utsname-sysctl-hack-fix.patch namespaces-utsname-implement-clone_newuts-flag.patch fs-reiser4-possible-cleanups.patch drivers-ide-cleanups.patch md-the-scheduled-removal-of-the-start_array-ioctl-for-md.patch srcu-3-add-srcu-operations-to-rcutorture-fix.patch the-scheduled-removal-of-some-oss-drivers.patch the-scheduled-removal-of-some-oss-drivers-fix.patch the-scheduled-removal-of-some-oss-drivers-fix-fix.patch kill-sound-oss-_symsc.patch schedule-obsolete-oss-drivers-for-removal-2nd-round.patch slab-cache-shrinker-statistics.patch debug-shared-irqs-kconfig-fix.patch i386-enable-4k-stacks-by-default.patch mutex-subsystem-synchro-test-module.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html