Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 Oct 2013 22:01:11 +0300
From:      Alexander Motin <mav@FreeBSD.org>
To:        John Baldwin <jhb@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:  <5266CB77.7080001@FreeBSD.org>
In-Reply-To: <201310221447.35676.jhb@freebsd.org>
References:  <201310221021.r9MALLhP097274@svn.freebsd.org> <201310221447.35676.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 22.10.2013 21:47, John Baldwin wrote:
> 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:

It looks good to me, while I don't know how much useful can it be. I am 
not sure how many old binary drivers are there and how many of them 
survive switch from earlier FreeBSD versions to 10.x. But since it cost 
almost nothing I have no objections.

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


-- 
Alexander Motin



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