Comment 39 for bug 574693

Revision history for this message
Chris Wulff (crwulff) wrote :

The solution in the upstream post is actually almost right, but it is a little simpler than that. I've posted this upstream as well, but until they get around to it, it might be useful to include this patch in the ubuntu packages.

The section of code should just return TRUE instead of FALSE. Returning FALSE
means that the operation should be deferred in a thread (and the thread may not
run in this case until the job is destroyed so it crashes.) At least in my
system, marking the operation as failed doesn't disconnect the mount. It was
disconnected because the backend crashed.

From the backend header:

 These try_ calls should be fast and non-blocking, scheduling the i/o
 operations async (or on a thread) or reading from cache.
 Returning FALSE means "Can't do this now or async", which
 means the non-try_ version will be scheduled in a worker
 thread.