On Fri, Oct 20, 2017 at 08:42:00AM -0700, Dan Williams wrote: > I agree, but it needs quite a bit more thought and restructuring of > the truncate path. I also wonder how we reclaim those stranded > filesystem blocks, but a first approximation is wait for the > administrator to delete them or auto-delete them at the next mount. > XFS seems well prepared to reflink-swap these DMA blocks around, but > I'm not sure about EXT4. reflink still is an optional and experimental feature in XFS. That being said we should not need to swap block pointers around on disk. We just need to prevent the block allocator from reusing the blocks for new allocations, and we have code for that, both for transactions that haven't been committed to disk yet, and for deleted blocks undergoing discard operations. But as mentioned in my second mail from this morning I'm not even sure we need that. For short-term elevated page counts like normal get_user_pages users I think we can just wait for the page count to reach zero, while for abuses of get_user_pages for long term pinning memory (not sure if anyone but rdma is doing that) we'll need something like FL_LAYOUT leases to release the mapping. -- 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>