Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 Oct 2013 14:47:35 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        Alexander Motin <mav@freebsd.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r256884 - in head: share/man/man9 sys/geom
Message-ID:  <201310221447.35676.jhb@freebsd.org>
In-Reply-To: <201310221021.r9MALLhP097274@svn.freebsd.org>
References:  <201310221021.r9MALLhP097274@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday, October 22, 2013 6:21:21 am Alexander Motin wrote:
> Author: mav
> Date: Tue Oct 22 10:21:20 2013
> New Revision: 256884
> URL: http://svnweb.freebsd.org/changeset/base/256884
> 
> Log:
>   Remove Giant-locked drivers support (DISKFLAG_NEEDSGIANT flag) from disk(9).
>   
>   Since at least FreeBSD 7 we had only four of them in the base tree, and
>   in head branch, thanks to jhb@, we have no any for more then a year.

I had this additional change in my local branch, what do you think of it?  We
should probably keep it unless we bump DISK_VERSION and drop support for older
disk structures.  I think we could probably merge it to 10 along with your
change as well:

--- //depot/vendor/freebsd/src/sys/geom/geom_disk.c
+++ //depot/user/jhb/cleanup/sys/geom/geom_disk.c
@@ -654,6 +654,13 @@
 		    dp->d_name, dp->d_unit);
 		return;
 	}
+	if (dp->d_flags & DISKFLAG_RESERVED) {
+		printf("WARNING: Attempt to add non-MPSAFE disk %s%d\n",
+		    dp->d_name, dp->d_unit);
+		printf("WARNING: Ignoring disk %s%d\n",
+		    dp->d_name, dp->d_unit);
+		return;
+	}
 	KASSERT(dp->d_strategy != NULL, ("disk_create need d_strategy"));
 	KASSERT(dp->d_name != NULL, ("disk_create need d_name"));
 	KASSERT(*dp->d_name != 0, ("disk_create need d_name"));
--- //depot/vendor/freebsd/src/sys/geom/geom_disk.h
+++ //depot/user/jhb/cleanup/sys/geom/geom_disk.h
@@ -102,6 +102,7 @@
 	void			*d_drv1;
 };
 
+#define DISKFLAG_RESERVED	0x1	/* Was NEEDSGIANT */
 #define DISKFLAG_OPEN		0x2
 #define DISKFLAG_CANDELETE	0x4
 #define DISKFLAG_CANFLUSHCACHE	0x8

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201310221447.35676.jhb>