On Thu, 4 Sep 2014 10:51:32 -0700 Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote: > On Thu, Sep 04, 2014 at 08:38:39AM -0400, Jeff Layton wrote: > > I think that the intent of this code was to ensure that a process won't > > deadlock if it has one fd open with a lease on it and then breaks that > > lease by opening another fd. In that case it'll treat the __break_lease > > call as if it were non-blocking. > > > > This seems wrong -- the process could (for instance) be multithreaded > > and managing different fds via different threads. I also don't see any > > mention of this limitation in the (somewhat sketchy) documentation. > > > > Remove the check and the non-blocking behavior when i_have_this_lease > > is true. > > This looks reasonable to me, but I'm always very worried about changing > userspace exposed behavior.. > Yeah, me too, but I think the behavior in this case is just plain wrong. It's really hard to understand how anyone would rely on this to avoid deadlocking, but you never know... I want to phase this out, but I'm certainly open to doing this in a smoother fashion if anyone has suggestions on how to do so. Thanks, -- Jeff Layton <jlayton@xxxxxxxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html