Module Name:    src
Committed By:   mlelstv
Date:           Tue Nov  4 07:51:55 UTC 2014

Modified Files:
        src/sys/dev: dksubr.c ld.c vnd.c
        src/sys/dev/ata: wd.c
        src/sys/dev/raidframe: rf_netbsdkintf.c
        src/sys/dev/scsipi: sd.c

Log Message:
support DIOCMWEDGES ioctl.


To generate a diff of this commit:
cvs rdiff -u -r1.53 -r1.54 src/sys/dev/dksubr.c
cvs rdiff -u -r1.77 -r1.78 src/sys/dev/ld.c
cvs rdiff -u -r1.233 -r1.234 src/sys/dev/vnd.c
cvs rdiff -u -r1.414 -r1.415 src/sys/dev/ata/wd.c
cvs rdiff -u -r1.314 -r1.315 src/sys/dev/raidframe/rf_netbsdkintf.c
cvs rdiff -u -r1.309 -r1.310 src/sys/dev/scsipi/sd.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/dksubr.c
diff -u src/sys/dev/dksubr.c:1.53 src/sys/dev/dksubr.c:1.54
--- src/sys/dev/dksubr.c:1.53	Sat Oct 11 12:36:25 2014
+++ src/sys/dev/dksubr.c	Tue Nov  4 07:51:54 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: dksubr.c,v 1.53 2014/10/11 12:36:25 mlelstv Exp $ */
+/* $NetBSD: dksubr.c,v 1.54 2014/11/04 07:51:54 mlelstv Exp $ */
 
 /*-
  * Copyright (c) 1996, 1997, 1998, 1999, 2002, 2008 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: dksubr.c,v 1.53 2014/10/11 12:36:25 mlelstv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: dksubr.c,v 1.54 2014/11/04 07:51:54 mlelstv Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -304,6 +304,7 @@ dk_ioctl(struct dk_intf *di, struct dk_s
 	case DIOCAWEDGE:
 	case DIOCDWEDGE:
 	case DIOCLWEDGES:
+	case DIOCMWEDGES:
 	case DIOCCACHESYNC:
 #ifdef __HAVE_OLD_DISKLABEL
 	case ODIOCGDINFO:
@@ -433,6 +434,15 @@ dk_ioctl(struct dk_intf *di, struct dk_s
 		return (dkwedge_list(&dksc->sc_dkdev, dkwl, l));
 	    }
 
+	case DIOCMWEDGES:
+	    {
+		if ((flag & FWRITE) == 0)
+			return (EBADF);
+
+	    	dkwedge_discover(&dksc->sc_dkdev);
+		return 0;
+	    }
+
 	case DIOCGSTRATEGY:
 	    {
 		struct disk_strategy *dks = (void *)data;

Index: src/sys/dev/ld.c
diff -u src/sys/dev/ld.c:1.77 src/sys/dev/ld.c:1.78
--- src/sys/dev/ld.c:1.77	Sat Oct 11 12:01:27 2014
+++ src/sys/dev/ld.c	Tue Nov  4 07:51:54 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: ld.c,v 1.77 2014/10/11 12:01:27 mlelstv Exp $	*/
+/*	$NetBSD: ld.c,v 1.78 2014/11/04 07:51:54 mlelstv Exp $	*/
 
 /*-
  * Copyright (c) 1998, 2000 The NetBSD Foundation, Inc.
@@ -34,7 +34,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ld.c,v 1.77 2014/10/11 12:01:27 mlelstv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ld.c,v 1.78 2014/11/04 07:51:54 mlelstv Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -555,6 +555,16 @@ ldioctl(dev_t dev, u_long cmd, void *add
 
 		return (dkwedge_list(&sc->sc_dk, dkwl, l));
 	    }
+
+	case DIOCMWEDGES:
+	    {
+	    	if ((flag & FWRITE) == 0)
+			return (EBADF);
+
+		dkwedge_discover(&sc->sc_dk);
+		return 0;
+	    }
+
 	case DIOCGSTRATEGY:
 	    {
 		struct disk_strategy *dks = (void *)addr;

Index: src/sys/dev/vnd.c
diff -u src/sys/dev/vnd.c:1.233 src/sys/dev/vnd.c:1.234
--- src/sys/dev/vnd.c:1.233	Sat Oct 11 12:01:27 2014
+++ src/sys/dev/vnd.c	Tue Nov  4 07:51:54 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: vnd.c,v 1.233 2014/10/11 12:01:27 mlelstv Exp $	*/
+/*	$NetBSD: vnd.c,v 1.234 2014/11/04 07:51:54 mlelstv Exp $	*/
 
 /*-
  * Copyright (c) 1996, 1997, 1998, 2008 The NetBSD Foundation, Inc.
@@ -91,7 +91,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: vnd.c,v 1.233 2014/10/11 12:01:27 mlelstv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vnd.c,v 1.234 2014/11/04 07:51:54 mlelstv Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_vnd.h"
@@ -1592,6 +1592,13 @@ unlock_and_exit:
 
 		return dkwedge_list(&vnd->sc_dkdev, dkwl, l);
 
+	case DIOCMWEDGES:
+		if ((flag & FWRITE) == 0)
+			return EBADF;
+
+		dkwedge_discover(&vnd->sc_dkdev);
+		return 0;
+
 	default:
 		return ENOTTY;
 	}

Index: src/sys/dev/ata/wd.c
diff -u src/sys/dev/ata/wd.c:1.414 src/sys/dev/ata/wd.c:1.415
--- src/sys/dev/ata/wd.c:1.414	Sat Oct 11 14:05:11 2014
+++ src/sys/dev/ata/wd.c	Tue Nov  4 07:51:55 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: wd.c,v 1.414 2014/10/11 14:05:11 mlelstv Exp $ */
+/*	$NetBSD: wd.c,v 1.415 2014/11/04 07:51:55 mlelstv Exp $ */
 
 /*
  * Copyright (c) 1998, 2001 Manuel Bouyer.  All rights reserved.
@@ -54,7 +54,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: wd.c,v 1.414 2014/10/11 14:05:11 mlelstv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: wd.c,v 1.415 2014/11/04 07:51:55 mlelstv Exp $");
 
 #include "opt_ata.h"
 
@@ -1510,6 +1510,15 @@ wdioctl(dev_t dev, u_long xfer, void *ad
 		return (dkwedge_list(&wd->sc_dk, dkwl, l));
 	    }
 
+	case DIOCMWEDGES:
+	    {
+	    	if ((flag & FWRITE) == 0)
+			return (EBADF);
+
+		dkwedge_discover(&wd->sc_dk);
+		return 0;
+	    }
+
 	case DIOCGSTRATEGY:
 	    {
 		struct disk_strategy *dks = (void *)addr;

Index: src/sys/dev/raidframe/rf_netbsdkintf.c
diff -u src/sys/dev/raidframe/rf_netbsdkintf.c:1.314 src/sys/dev/raidframe/rf_netbsdkintf.c:1.315
--- src/sys/dev/raidframe/rf_netbsdkintf.c:1.314	Sat Oct 11 12:36:25 2014
+++ src/sys/dev/raidframe/rf_netbsdkintf.c	Tue Nov  4 07:51:55 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: rf_netbsdkintf.c,v 1.314 2014/10/11 12:36:25 mlelstv Exp $	*/
+/*	$NetBSD: rf_netbsdkintf.c,v 1.315 2014/11/04 07:51:55 mlelstv Exp $	*/
 
 /*-
  * Copyright (c) 1996, 1997, 1998, 2008-2011 The NetBSD Foundation, Inc.
@@ -101,7 +101,7 @@
  ***********************************************************/
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rf_netbsdkintf.c,v 1.314 2014/10/11 12:36:25 mlelstv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rf_netbsdkintf.c,v 1.315 2014/11/04 07:51:55 mlelstv Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_compat_netbsd.h"
@@ -1090,6 +1090,7 @@ raidioctl(dev_t dev, u_long cmd, void *d
 	case DIOCWLABEL:
 	case DIOCAWEDGE:
 	case DIOCDWEDGE:
+	case DIOCMWEDGES:
 	case DIOCSSTRATEGY:
 		if ((flag & FWRITE) == 0)
 			return (EBADF);
@@ -1112,6 +1113,7 @@ raidioctl(dev_t dev, u_long cmd, void *d
 	case DIOCAWEDGE:
 	case DIOCDWEDGE:
 	case DIOCLWEDGES:
+	case DIOCMWEDGES:
 	case DIOCCACHESYNC:
 	case RAIDFRAME_SHUTDOWN:
 	case RAIDFRAME_REWRITEPARITY:
@@ -1917,6 +1919,9 @@ raidioctl(dev_t dev, u_long cmd, void *d
 	case DIOCLWEDGES:
 		return dkwedge_list(&rs->sc_dkdev,
 		    (struct dkwedge_list *)data, l);
+	case DIOCMWEDGES:
+		dkwedge_discover(&rs->sc_dkdev);
+		return 0;
 	case DIOCCACHESYNC:
 		return rf_sync_component_caches(raidPtr);
 

Index: src/sys/dev/scsipi/sd.c
diff -u src/sys/dev/scsipi/sd.c:1.309 src/sys/dev/scsipi/sd.c:1.310
--- src/sys/dev/scsipi/sd.c:1.309	Fri Sep  5 05:30:42 2014
+++ src/sys/dev/scsipi/sd.c	Tue Nov  4 07:51:55 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: sd.c,v 1.309 2014/09/05 05:30:42 matt Exp $	*/
+/*	$NetBSD: sd.c,v 1.310 2014/11/04 07:51:55 mlelstv Exp $	*/
 
 /*-
  * Copyright (c) 1998, 2003, 2004 The NetBSD Foundation, Inc.
@@ -47,7 +47,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sd.c,v 1.309 2014/09/05 05:30:42 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sd.c,v 1.310 2014/11/04 07:51:55 mlelstv Exp $");
 
 #include "opt_scsi.h"
 
@@ -1256,6 +1256,15 @@ sdioctl(dev_t dev, u_long cmd, void *add
 		return (dkwedge_list(&sd->sc_dk, dkwl, l));
 	    }
 
+	case DIOCMWEDGES:
+	    {
+		if ((flag & FWRITE) == 0)
+			return (EBADF);
+
+		dkwedge_discover(&sd->sc_dk);
+		return 0;
+	    }
+
 	case DIOCGSTRATEGY:
 	    {
 		struct disk_strategy *dks = addr;

Reply via email to