On Sat, Oct 27, 2018 at 04:37:45PM +1100, Dave Chinner wrote: > As an API, however, this needs to be consistent with > down_read_non_owner()/up_read_non_owner() which are for exactly this > same issue issue (different acquire/release contexts) on the read > side of the rwsem. Indeed, it can probably use the same > infrastructure... Indeed. Also, from a quick look, this has been broken for donkeys years, right? That comment: /* will be released by direct_io_worker */ has been there since 2009. Back then of course it was a mutex, and the curious thing is, mutexes have _never_ supported this release from another context thing. Colour me confused.