On Tue, 2017-10-10 at 10:19 -0700, t...@kernel.org wrote:
> Hello,
> 
> On Tue, Oct 10, 2017 at 04:48:57PM +0000, Trond Myklebust wrote:
> > Thanks for the explanation. What I'm not really understanding here
> > though, is how the work item could be queued at all. We have a
> > wait_on_bit_lock() in xprt_destroy() that should mean the xprt-
> > > task_cleanup work item has completed running, and that it cannot
> > > be
> > 
> > requeued.
> > 
> > Is there a possibility that the flush_queue() might be triggered
> > despite the work item not being queued?
> 
> Yeah, for sure.  The lockdep annotations don't distinguish those
> cases and assume the worst case.
> 

OK. Let's just remove that call to cancel_work_sync() then. As I said,
it should be redundant due to the wait_on_bit_lock().

-- 
Trond Myklebust
Linux NFS client maintainer, PrimaryData
trond.mykleb...@primarydata.com

Reply via email to