DragonFly BSD
DragonFly commits List (threaded) for 2004-11
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

cvs commit: src/sys/kern


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Mon, 22 Nov 2004 20:03:26 -0800 (PST)

dillon      2004/11/22 20:03:26 PST

DragonFly src repository

  Modified files:
    sys/kern             vfs_syscalls.c 
  Log:
  Fix a bug in chown, chmod, and chflags.  When the setfflags(), setffown(),
  and setfmode() API was cleaned up to not remove vrefs maintained by the
  caller it resulted in an incorrect vref+vn_lock combination which fails
  to clear the VINACTIVE bit on the vnode.  vget() clears this bit as part of
  its work.  This prevented the filesystem from synchronizing the changes
  out to the inode unless other modifications were made to the file as well,
  which resulted in weird errors such as ./MAKEDEV all creating /dev/null with
  perms 600 (the chmod it does afterwords doesn't always take effect), and
  other things.
  
  Additional thanks to walt for providing the information that led to the
  diagnosis.
  
  Reported-by: "Simon 'corecode' Schubert" <corecode@xxxxxxxxxxxx>,
               walt <wa1ter@xxxxxxxxxxxxx>,
  	     Andreas Hauser <andy@xxxxxxxxxxxxxxx>
  
  Revision  Changes    Path
  1.47      +44 -24    src/sys/kern/vfs_syscalls.c


http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_syscalls.c.diff?r1=1.46&r2=1.47&f=u



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