A page can remain pinned even after it has been unmapped from userspace / removed from the rmap. In advance of requiring that all dax_insert_entry() events are followed up 'break layouts' before a truncate event, make sure that 'break layouts' can find unmapped entries.
Cc: Matthew Wilcox <wi...@infradead.org> Cc: Jan Kara <j...@suse.cz> Cc: "Darrick J. Wong" <djw...@kernel.org> Cc: Jason Gunthorpe <j...@nvidia.com> Cc: Christoph Hellwig <h...@lst.de> Cc: John Hubbard <jhubb...@nvidia.com> Signed-off-by: Dan Williams <dan.j.willi...@intel.com> --- fs/dax.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/dax.c b/fs/dax.c index e762b9c04fb4..76bad1c095c0 100644 --- a/fs/dax.c +++ b/fs/dax.c @@ -698,7 +698,7 @@ struct page *dax_layout_busy_page_range(struct address_space *mapping, if (IS_ENABLED(CONFIG_FS_DAX_LIMITED)) return NULL; - if (!dax_mapping(mapping) || !mapping_mapped(mapping)) + if (!dax_mapping(mapping)) return NULL; /* If end == LLONG_MAX, all pages from start to till end of file */