diff --git a/mm/filemap.c b/mm/filemap.c index 287f3fa02e5e..45f1c6d73b5b 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -438,7 +438,8 @@ int __filemap_fdatawrite_range(struct address_space *mapping, loff_t start, .range_end = end, }; - if (!mapping_cap_writeback_dirty(mapping)) + if (!mapping_cap_writeback_dirty(mapping) || + !mapping_tagged(mapping, PAGECACHE_TAG_DIRTY)) return 0; wbc_attach_fdatawrite_inode(&wbc, mapping->host);