Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 17 Jan 2000 17:30:04 -0800 (PST)
From:      Kirk McKusick <mckusick@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/contrib/softupdates ffs_softdep.c
Message-ID:  <200001180130.RAA48796@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
mckusick    2000/01/17 17:30:04 PST

  Modified files:
    sys/contrib/softupdates ffs_softdep.c 
  Log:
  Need to reorganize the flushing of directory entry (pagedep) dependencies
  so that they never try to lock an inode corresponding to ".." as this
  can lead to deadlock. We observe that any inode with an updated link count
  is always pushed into its buffer at the time of the link count change, so
  we do not need to do a VOP_UPDATE, but merely find its buffer and write it.
  The only time we need to get the inode itself is from the result of a
  mkdir whose name will never be ".." and hence locking such an inode will
  never request a lock above us in the filesystem tree. Thanks to Brian
  Fundakowski Feldman for providing the test program that tickled soft updates
  into hanging in "inode" sleep.
  
  Submitted by:	Brian Fundakowski Feldman <green@FreeBSD.org>
  
  Revision  Changes    Path
  1.55      +63 -64    src/sys/contrib/softupdates/ffs_softdep.c



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200001180130.RAA48796>