On (24/12/15 21:16), Etienne Martineau wrote: > > > void fuse_abort_conn() > > > { > > > cancel_delayed_work_sync() > > > __fuse_abort_conn(); > > > } > > > > That seems like a reasonable solution. It already doesn't requeue the > > job when calling fuse_abort_conn(), so that should work. > > -- > > Jeff Layton <jlayton@xxxxxxxxxx> > > I'm not sure this is going to work either. > What happens if say fuse_check_timeout() is running and is about to > requeue the work and > at the same time umount->fuse_abort_conn->cancel_delayed_work_sync() comes. Good point. Perhaps a flag to make en-queueing conditional then, which will be set/cleared before cancel_delayed_work_sync()?