On Tue 28-06-22 10:29:00, Chris Mason wrote: > I'd love a proper fix for this on the *_user_pages() side where > page_mkwrite() style notifications are used all the time. It's just a huge > change, and my answer so far has always been that using btrfs mmap'd memory > for this kind of thing isn't a great choice either way. As Christoph wrote, it isn't a problem that you would not get a page_mkwrite() notification. That happens just fine. But the problem is that after that, the page can still get modified after you've removed all writeable mappings of the page (e.g. by calling page_mkclean() in clear_page_dirty_for_io()). And there's no way a kernel can provide further notification for such writes because we've simply handed of the page physical address to the HW to DMA into. So the only viable solution is really for the filesystem to detect such unprotectable pages if it cares and somehow deal with them (skip writeback, use bounce pages, ...). The good news is that we already have page_maybe_dma_pinned() call that at least allows detection of such unprotectable pages. Honza -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR