On Fri, 2008-02-22 at 11:31 +1100, Neil Brown wrote:
> On Thursday February 21, [EMAIL PROTECTED] wrote:
> > 
> > On Thu, 2008-02-21 at 15:58 +1100, Neil Brown wrote:
> > 
> > > My question is:  *why* cannot rpc_shutdown_client complete until all
> > > active rpc_tasks complete?  The use of reference counting ensure that
> > > once they do all complete, the client will be finally released and any
> > > relevant modules will also be released.
> > > 
> > > Is there really any need to wait for completion?
> > 
> > Looking at the code, I suspect that you can probably get rid of the
> > rpc_shutdown_client() without creating too much trouble (since we now
> > hold a reference to the vfsmount in most of the asynchronous
> > operations).
> > 
> > However the asynchronous sillyrenames are still a problem: if you don't
> > wait for the sillyrename RPC call to complete, then you end up with the
> > famous "Self-destruct in 5 seconds" message on umount (because we have
> > to hold a reference to the directory inode for the duration of the RPC
> > call if we want to avoid lookup races and cache consistency issues
> > during normal operation).
> 
> Could the sillyrename call hold a reference to the vfsmount???

That would require a VFS change to allow the ->rename() and ->unlink()
inode ops to pass down the vfsmount to the filesystem. Unfortunately Al
and Christoph have both NACKed such a change. SteveD's fix was therefore
the only thing we could do in this situation.


-
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to