On Sat, Jan 30, 2016 at 05:47:18AM +0000, Wilcox, Matthew R wrote: > I remembered that Ross had a similar question, so it must be hard to understand. How does this comment work for both of you? > > + /* > + * A truncate must remove COWs of pages that are removed > + * from the file. If we have a struct page, the normal > + * page lock mechanism prevents truncate from missing the > + * COWed page. If not, the i_mmap_lock can provide the > + * same guarantee. It is dropped by the caller after the > + * page is safely in the page tables. > + */ Yep, this makes sense. It may be worthwhile to explicitly say "It is dropped by do_cow_fault() after the page is safely in the page tables." so the less experienced among us (me) can easily find the match to the i_mmap_lock_read(). -- 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