svn commit: r198706 - head/sys/sys

Ed Schouten ed at
Sat Oct 31 10:35:42 UTC 2009

Author: ed
Date: Sat Oct 31 10:35:41 2009
New Revision: 198706

  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


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-head mailing list