From: NeilBrown <neilb@cse.unsw.edu.au>

The "START_ARRAY" ioctl depends on major/minor numbers (as stored in the raid
superblock) are stable over reboots, which is increasingly untrue.

There are better ways to start an array (e.g.  with mdadm) so we mark the
ioctl as deprecated for 2.6, and will remove it in 2.7.



---

 drivers/md/md.c |    8 ++++++++
 1 files changed, 8 insertions(+)

diff -puN drivers/md/md.c~md-01-START_ARRAY-is-deprecated drivers/md/md.c
--- 25/drivers/md/md.c~md-01-START_ARRAY-is-deprecated	2004-02-05 22:05:01.000000000 -0800
+++ 25-akpm/drivers/md/md.c	2004-02-05 22:05:01.000000000 -0800
@@ -2419,6 +2419,14 @@ static int md_ioctl(struct inode *inode,
 		/* 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 2.6\n",
+			       current->comm, current->pid);
+			cnt--;
+		}
 		err = autostart_array(new_decode_dev(arg));
 		if (err) {
 			printk(KERN_WARNING "md: autostart %s failed!\n",

_