Author: ken
Date: Mon Jun 13 22:08:24 2011
New Revision: 223062
URL: http://svn.freebsd.org/changeset/base/223062

Log:
  Instead of using an atomic operation to determine whether the devstat(9)
  device node has been created, pass MAKEDEV_CHECKNAME in so that the devfs
  code will do the check.
  
  Use a regular static variable as before, that's good enough to keep us from
  calling into devfs most of the time.
  
  Suggested by: kib
  MFC after:    1 week
  Sponsored by: Spectra Logic Corporation

Modified:
  head/sys/kern/subr_devstat.c

Modified: head/sys/kern/subr_devstat.c
==============================================================================
--- head/sys/kern/subr_devstat.c        Mon Jun 13 21:21:02 2011        
(r223061)
+++ head/sys/kern/subr_devstat.c        Mon Jun 13 22:08:24 2011        
(r223062)
@@ -470,9 +470,11 @@ devstat_alloc(void)
        static int once;
 
        mtx_assert(&devstat_mutex, MA_NOTOWNED);
-       if (!once && atomic_cmpset_int(&once, 0, 1)) {
-               make_dev_credf(MAKEDEV_ETERNAL, &devstat_cdevsw, 0, NULL,
-                   UID_ROOT, GID_WHEEL, 0400, DEVSTAT_DEVICE_NAME);
+       if (!once) {
+               make_dev_credf(MAKEDEV_ETERNAL | MAKEDEV_CHECKNAME,
+                   &devstat_cdevsw, 0, NULL, UID_ROOT, GID_WHEEL, 0400,
+                   DEVSTAT_DEVICE_NAME);
+               once = 1;
        }
        spp2 = NULL;
        mtx_lock(&devstat_mutex);
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to