Module Name:    src
Committed By:   jmcneill
Date:           Sat Jul 30 12:08:37 UTC 2011

Modified Files:
        src/sys/dev/dkwedge: dk.c
        src/sys/dev/raidframe: rf_netbsdkintf.c
        src/sys/dev/scsipi: sd.c
        src/sys/kern: subr_disk_open.c
        src/sys/sys: fcntl.h

Log Message:
Add an FSILENT flag and use it to suppress "Medium Not Present" scsipi
spam when trying to access offline drives at boot.


To generate a diff of this commit:
cvs rdiff -u -r1.61 -r1.62 src/sys/dev/dkwedge/dk.c
cvs rdiff -u -r1.292 -r1.293 src/sys/dev/raidframe/rf_netbsdkintf.c
cvs rdiff -u -r1.293 -r1.294 src/sys/dev/scsipi/sd.c
cvs rdiff -u -r1.2 -r1.3 src/sys/kern/subr_disk_open.c
cvs rdiff -u -r1.38 -r1.39 src/sys/sys/fcntl.h

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/dkwedge/dk.c
diff -u src/sys/dev/dkwedge/dk.c:1.61 src/sys/dev/dkwedge/dk.c:1.62
--- src/sys/dev/dkwedge/dk.c:1.61	Sun Jun 12 03:35:52 2011
+++ src/sys/dev/dkwedge/dk.c	Sat Jul 30 12:08:36 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: dk.c,v 1.61 2011/06/12 03:35:52 rmind Exp $	*/
+/*	$NetBSD: dk.c,v 1.62 2011/07/30 12:08:36 jmcneill Exp $	*/
 
 /*-
  * Copyright (c) 2004, 2005, 2006, 2007 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: dk.c,v 1.61 2011/06/12 03:35:52 rmind Exp $");
+__KERNEL_RCSID(0, "$NetBSD: dk.c,v 1.62 2011/07/30 12:08:36 jmcneill Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_dkwedge.h"
@@ -899,7 +899,7 @@
 		goto out;
 	}
 
-	error = VOP_OPEN(vp, FREAD, NOCRED);
+	error = VOP_OPEN(vp, FREAD | FSILENT, NOCRED);
 	if (error) {
 		aprint_error("%s: unable to open device, error = %d\n",
 		    pdk->dk_name, error);

Index: src/sys/dev/raidframe/rf_netbsdkintf.c
diff -u src/sys/dev/raidframe/rf_netbsdkintf.c:1.292 src/sys/dev/raidframe/rf_netbsdkintf.c:1.293
--- src/sys/dev/raidframe/rf_netbsdkintf.c:1.292	Fri Jul 29 19:55:50 2011
+++ src/sys/dev/raidframe/rf_netbsdkintf.c	Sat Jul 30 12:08:36 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: rf_netbsdkintf.c,v 1.292 2011/07/29 19:55:50 oster Exp $	*/
+/*	$NetBSD: rf_netbsdkintf.c,v 1.293 2011/07/30 12:08:36 jmcneill Exp $	*/
 
 /*-
  * Copyright (c) 1996, 1997, 1998, 2008 The NetBSD Foundation, Inc.
@@ -101,7 +101,7 @@
  ***********************************************************/
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rf_netbsdkintf.c,v 1.292 2011/07/29 19:55:50 oster Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rf_netbsdkintf.c,v 1.293 2011/07/30 12:08:36 jmcneill Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_compat_netbsd.h"
@@ -3044,7 +3044,7 @@
 		if (bdevvp(dev, &vp))
 			panic("RAID can't alloc vnode");
 
-		error = VOP_OPEN(vp, FREAD, NOCRED);
+		error = VOP_OPEN(vp, FREAD | FSILENT, NOCRED);
 
 		if (error) {
 			/* "Who cares."  Continue looking

Index: src/sys/dev/scsipi/sd.c
diff -u src/sys/dev/scsipi/sd.c:1.293 src/sys/dev/scsipi/sd.c:1.294
--- src/sys/dev/scsipi/sd.c:1.293	Wed Apr 14 22:26:33 2010
+++ src/sys/dev/scsipi/sd.c	Sat Jul 30 12:08:37 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: sd.c,v 1.293 2010/04/14 22:26:33 jakllsch Exp $	*/
+/*	$NetBSD: sd.c,v 1.294 2011/07/30 12:08:37 jmcneill 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.293 2010/04/14 22:26:33 jakllsch Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sd.c,v 1.294 2011/07/30 12:08:37 jmcneill Exp $");
 
 #include "opt_scsi.h"
 #include "rnd.h"
@@ -439,7 +439,7 @@
 	} else {
 		int silent;
 
-		if (part == RAW_PART && fmt == S_IFCHR)
+		if ((part == RAW_PART && fmt == S_IFCHR) || (flag & FSILENT))
 			silent = XS_CTL_SILENT;
 		else
 			silent = 0;
@@ -471,7 +471,7 @@
 			}
 		}
 		if (error) {
-			if (silent)
+			if (silent && (flag & FSILENT) == 0)
 				goto out;
 			goto bad2;
 		}

Index: src/sys/kern/subr_disk_open.c
diff -u src/sys/kern/subr_disk_open.c:1.2 src/sys/kern/subr_disk_open.c:1.3
--- src/sys/kern/subr_disk_open.c:1.2	Sat Jan 30 11:57:17 2010
+++ src/sys/kern/subr_disk_open.c	Sat Jul 30 12:08:36 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: subr_disk_open.c,v 1.2 2010/01/30 11:57:17 mlelstv Exp $	*/
+/*	$NetBSD: subr_disk_open.c,v 1.3 2011/07/30 12:08:36 jmcneill Exp $	*/
 
 /*-
  * Copyright (c) 2006 The NetBSD Foundation, Inc.
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: subr_disk_open.c,v 1.2 2010/01/30 11:57:17 mlelstv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: subr_disk_open.c,v 1.3 2011/07/30 12:08:36 jmcneill Exp $");
 
 #include <sys/param.h>
 #include <sys/conf.h>
@@ -63,7 +63,7 @@
 	if (bdevvp(dev, &tmpvn))
 		panic("%s: can't alloc vnode for %s", __func__,
 		    device_xname(dv));
-	error = VOP_OPEN(tmpvn, FREAD, NOCRED);
+	error = VOP_OPEN(tmpvn, FREAD | FSILENT, NOCRED);
 	if (error) {
 #ifndef DEBUG
 		/*

Index: src/sys/sys/fcntl.h
diff -u src/sys/sys/fcntl.h:1.38 src/sys/sys/fcntl.h:1.39
--- src/sys/sys/fcntl.h:1.38	Sun Jun 26 16:43:12 2011
+++ src/sys/sys/fcntl.h	Sat Jul 30 12:08:36 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: fcntl.h,v 1.38 2011/06/26 16:43:12 christos Exp $	*/
+/*	$NetBSD: fcntl.h,v 1.39 2011/07/30 12:08:36 jmcneill Exp $	*/
 
 /*-
  * Copyright (c) 1983, 1990, 1993
@@ -130,6 +130,7 @@
 #define	FDEFER		0x00002000	/* defer for next gc pass */
 #define	FHASLOCK	0x00004000	/* descriptor holds advisory lock */
 #define	FSCAN		0x00100000	/* scan during gc passes */
+#define	FSILENT		0x40000000	/* suppress kernel error messages */
 #define	FKIOCTL		0x80000000	/* kernel originated ioctl */
 /* bits settable by fcntl(F_SETFL, ...) */
 #define	FCNTLFLAGS	(FAPPEND|FASYNC|FFSYNC|FNONBLOCK|FDSYNC|FRSYNC|FALTIO|\

Reply via email to