On Wed, Feb 6, 2019 at 10:52 AM Jason Gunthorpe <jgg@xxxxxxxx> wrote: > > On Wed, Feb 06, 2019 at 10:35:04AM -0800, Matthew Wilcox wrote: > > > > Admittedly, I'm coming in late to this conversation, but did I miss the > > > portion where that alternative was ruled out? > > > > That's my preferred option too, but the preponderance of opinion leans > > towards "We can't give people a way to make files un-truncatable". > > I haven't heard an explanation why blocking ftruncate is worse than > giving people a way to break RDMA using process by calling ftruncate?? > > Isn't it exactly the same argument the other way? No, I don't think it is. The lease is there to set the expectation of getting out of the way, it's not a silent un-coordinated failure. The user asked for it, the kernel is just honoring a valid request. If the RDMA application doesn't want it to happen, arrange for it by permissions or other coordination to prevent truncation, but once the two conflicting / valid requests have arrived at the filesystem try to move the result forward to the user requested state not block and fail indefinitely.