cvs commit: src/sys/kern vfs_sync.c

Matthew Dillon dillon at crater.dragonflybsd.org
Thu Jan 20 09:52:32 PST 2005


dillon      2005/01/20 09:52:03 PST

DragonFly src repository

  Modified files:
    sys/kern             vfs_sync.c 
  Log:
  Properly vget() vnodes that the syncer intends to VOP_FSYNC(), rather then
  just locking the vnode.  The original FreeBSD code allowed a vnode to be
  locked without being refd, but DragonFly requires that a vnode be ref'd
  if it is going to be locked.  This fixes a rare panic that can occur when
  the syncer is flushing a vnode that mainline code tries to access at the
  same time.
  
  This also brings the syncer inline with the filesystem sync code which has
  been using normal vget()'s for several months now.
  
  Reported-by: David Rhodus
  
  Revision  Changes    Path
  1.3       +3 -4      src/sys/kern/vfs_sync.c


http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_sync.c.diff?r1=1.2&r2=1.3&f=u





More information about the Commits mailing list