svn commit: r198706 - head/sys/sys

M. Warner Losh imp at bsdimp.com
Sun Nov 1 01:08:56 UTC 2009


In message: <200910311035.n9VAZfIb082932 at svn.freebsd.org>
            Ed Schouten <ed at FreeBSD.org> writes:
: Author: ed
: Date: Sat Oct 31 10:35:41 2009
: New Revision: 198706
: URL: http://svn.freebsd.org/changeset/base/198706
: 
: Log:
:   Turn unused structure fields of cdevsw into spares.
:   
:   d_uid, d_gid and d_mode are unused, because permissions are stored in
:   cdevpriv nowadays. d_kind doesn't seem to be used at all. We no longer
:   keep a list of cdevsw's, so d_list is also unused.
:   
:   uid_t and gid_t are 32 bits, but mode_t is 16 bits, Because of alignment
:   constraints of d_kind, we can safely turn it into three 32-bit integers.
:   d_kind and d_list is equal in size to three pointers.
:   
:   Discussed with:	kib

Don't we need a D_VERSION bump for this?

Warner


: Modified:
:   head/sys/sys/conf.h
: 
: Modified: head/sys/sys/conf.h
: ==============================================================================
: --- head/sys/sys/conf.h	Sat Oct 31 09:03:48 2009	(r198705)
: +++ head/sys/sys/conf.h	Sat Oct 31 10:35:41 2009	(r198706)
: @@ -210,15 +210,13 @@ struct cdevsw {
:  	d_kqfilter_t		*d_kqfilter;
:  	d_purge_t		*d_purge;
:  	d_mmap_single_t		*d_mmap_single;
: -	uid_t			d_uid;
: -	gid_t			d_gid;
: -	mode_t			d_mode;
: -	const char		*d_kind;
: +
: +	int32_t			d_spare0[3];
: +	void			*d_spare1[3];
:  
:  	/* These fields should not be messed with by drivers */
: -	LIST_ENTRY(cdevsw)	d_list;
:  	LIST_HEAD(, cdev)	d_devs;
: -	int			d_spare3;
: +	int			d_spare2;
:  	union {
:  		struct cdevsw		*gianttrick;
:  		SLIST_ENTRY(cdevsw)	postfree_list;
: 


More information about the svn-src-all mailing list