summaryrefslogtreecommitdiffstats
path: root/share/info
diff options
context:
space:
mode:
authorrmacklem <rmacklem@FreeBSD.org>2013-04-18 13:09:04 +0000
committerrmacklem <rmacklem@FreeBSD.org>2013-04-18 13:09:04 +0000
commitef3a1169e5fce4941a31bbd3ceb50e8c930e2720 (patch)
tree426b7722bfd3485b471929d4c1aa32849c7396ea /share/info
parent1142f0c37ea55322571a9ad6cd6ec73c22e11e00 (diff)
downloadFreeBSD-src-ef3a1169e5fce4941a31bbd3ceb50e8c930e2720.zip
FreeBSD-src-ef3a1169e5fce4941a31bbd3ceb50e8c930e2720.tar.gz
Both NFS clients can deadlock when using the "rdirplus" mount
option. This can occur when an nfsiod thread that already holds a buffer lock attempts to acquire a vnode lock on an entry in the directory (a LOR) when another thread holding the vnode lock is waiting on an nfsiod thread. This patch avoids the deadlock by disabling readahead for this case, so the nfsiod threads never do readdirplus. Since readaheads for directories need the directory offset cookie from the previous read, they cannot normally happen in parallel. As such, testing by jhb@ and myself didn't find any performance degredation when this patch is applied. If there is a case where this results in a significant performance degradation, mounting without the "rdirplus" option can be done to re-enable readahead for directories. Reported and tested by: jhb Reviewed by: jhb MFC after: 2 weeks
Diffstat (limited to 'share/info')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud