perseant c716c3d307 Make LFS dirops get their vnode first, before incrementing the dirop count,
to prevent a deadlock trying to call VOP_PUTPAGES() on a VDIROP vnode.
This can happen when a stacked filesystem is mounted on top of an LFS: an
LFS dirop needs to get a vnode, which is available from the upper layer.
The corresponding lower layer vnode, however, is VDIROP, so the upper layer
can't be cleaned out since its VOP_PUTPAGES() is passed through to the lower
layer, which waits for dirops to drain before it can proceed.  Deadlock.

Tweak ufs_makeinode() and ufs_mkdir() to pass the a_vpp argument through
to VOP_VALLOC().

Partially addresses PR # 26043, though it probably does not completely fix
the problem described there.
2005-03-23 00:12:51 +00:00
..
2005-02-26 22:58:54 +00:00
2005-02-26 22:58:54 +00:00
2005-02-26 22:58:54 +00:00
2005-02-26 22:58:54 +00:00
2005-03-21 18:27:32 +00:00
2005-02-26 22:58:54 +00:00
2005-02-26 22:58:54 +00:00
2005-02-26 22:58:54 +00:00
KNF
2005-03-12 16:39:41 +00:00
2005-02-26 22:45:09 +00:00
2005-02-26 22:45:09 +00:00
2005-02-26 22:45:09 +00:00
2005-03-18 21:25:09 +00:00
2005-02-26 22:31:44 +00:00
2005-02-26 22:31:44 +00:00
2005-02-26 22:31:44 +00:00
2005-02-26 22:31:44 +00:00
2005-02-26 22:31:44 +00:00
2005-02-26 22:31:44 +00:00
2005-02-26 22:31:44 +00:00
2005-02-26 22:31:44 +00:00