summaryrefslogtreecommitdiffstats
path: root/lib/libpthread/thread/thr_mutex_prioceiling.c
diff options
context:
space:
mode:
authormckusick <mckusick@FreeBSD.org>2000-01-18 01:30:03 +0000
committermckusick <mckusick@FreeBSD.org>2000-01-18 01:30:03 +0000
commit37dbb3e53fcf682cd222c1a37e190f9421ed6722 (patch)
tree4f6d52f96f72233d5aaf186c7d61678be5c381ce /lib/libpthread/thread/thr_mutex_prioceiling.c
parent1fb52e454373e03ecf8f2a6fe03fd95b26b41084 (diff)
downloadFreeBSD-src-37dbb3e53fcf682cd222c1a37e190f9421ed6722.zip
FreeBSD-src-37dbb3e53fcf682cd222c1a37e190f9421ed6722.tar.gz
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>
Diffstat (limited to 'lib/libpthread/thread/thr_mutex_prioceiling.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud