svn commit: r227549 - stable/7/sys/nfsclient

Alfred Perlstein alfred at freebsd.org
Thu Nov 17 18:36:43 UTC 2011


* Rick Macklem <rmacklem at uoguelph.ca> [111116 21:16] wrote:
> Alfred Perlstein wrote:
> > Rick, I have a question, what will happen if the nfs_freesillyrename()
> > call happens when the mount is down? Will it block the
> > taskqueue_thread?
> > 
> > If so, it might make more sense to make a taskqueue per mount point.
> > 
> > If not, excuse me. :-)
> > 
> Well, all nfs_freesillyrename() does is a vrele() on the parent
> directory when the file node's use count has gone to 0.
> I can't think why that would do any RPC, so I don't see a problem?
> If you do see a problem with vrele() on the directory, please let me
> know.
> 
> The problem this fixes is a LOR that would occur when the vrele() on
> the directory was done by the thread doing VOP_INACTIVE(), since it
> already has the file vnode lock and the vrele() was locking the parent
> directory. This could cause a fairly rare deadlock.

Yes, I understand the VFS deadlock.

I see, I didn't realize the call was against the directory,
thank you for explaining.

-Alfred


More information about the svn-src-stable-7 mailing list