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|\