On Tue, Feb 18, 2014 at 10:53 AM, Matthew Wilcox <willy@xxxxxxxxxxxxxxx> wrote: > > Yes, I did mean "holepunches and page faults". But here's the race I see: Hmm. With truncate, we should be protected by i_size being changed first (iirc - I didn't actually check), but I think you're right that hole punching might race with a page being mapped at the same time. > What I'm suggesting is going back to Kirill's earlier patch, but only > locking the page with the highest index instead of all of the pages. > truncate() will block on that page and then we'll notice that some or > all of the other pages are also now past i_size and give up. Actually, Kirill's latest patch seems to solve the problem with locking - by simply never locking more than one page at a time. So I guess it's all moot at least wrt the page preload.. Linus -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>