DragonFly BSD
DragonFly kernel List (threaded) for 2006-04
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: fishy messages in HEAD

From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Fri, 14 Apr 2006 09:46:48 -0700 (PDT)

:On Fri, Apr 14, 2006 at 12:39:29AM -0700, Matthew Dillon wrote:
:>     What I think is happening is that /dev/null gets created 644, then
:>     chmod'd 666, but the chmod doesn't get synchronized to disk in a timely
:>     manner.  A normal shutdown ought to sync it, but an abnormal shutdown
:>     might not.
:mknod(2) does accept the mode for the created node, but there's no way to
:tell mknod(8) to set the mode on the command line arguments (except via
:umask setting).  The mode argument to mknod(2) is set to 0666 and is
:overridden by umask setting(usually set to 022).  I think that the following
:small patch to MAKEDEV is enough to avoid the glitch.  (Making mknod(8) to
:accept `-m mode' looks cleaner, but relying on the new option doesn't work
:when DESTDIR is set to other location than /).
:Index: etc/MAKEDEV
:RCS file: /home/source/dragonfly/cvs/src/etc/MAKEDEV,v
:retrieving revision 1.20
:diff -u -r1.20 MAKEDEV
:--- etc/MAKEDEV	7 May 2005 17:38:33 -0000	1.20
:+++ etc/MAKEDEV	14 Apr 2006 08:41:31 -0000
:@@ -374,8 +374,11 @@
: 	# Finally, set ownership and permissions.
: 	#---------------------------------------------------------------------
:+	umask=`echo $perms | $tr '01234567' '76543210'`
:+	savedumask=`umask`
:+	umask $umask
: 	$mknod $dev$unit $1 $2 $3 $owner
:-	chmod $perms $dev$unit
:+	umask $savedumask
: }

    I'd rather fix the issue of the kernel not synchronizing the inode
    in a timely fashion.  If we adjust MAKEDEV first then we'll stop getting
    bug reports about /dev/null and not know that it has been fixed for
    good :-)
					Matthew Dillon 

[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]