mm: don't set __GFP_WRITE on ramfs/sysfs writes
[platform/adaptation/renesas_rcar/renesas_kernel.git] / mm / filemap.c
index 2f81650..e8cf8ae 100644 (file)
@@ -2341,7 +2341,9 @@ struct page *grab_cache_page_write_begin(struct address_space *mapping,
        struct page *page;
        gfp_t gfp_notmask = 0;
 
-       gfp_mask = mapping_gfp_mask(mapping) | __GFP_WRITE;
+       gfp_mask = mapping_gfp_mask(mapping);
+       if (mapping_cap_account_dirty(mapping))
+               gfp_mask |= __GFP_WRITE;
        if (flags & AOP_FLAG_NOFS)
                gfp_notmask = __GFP_FS;
 repeat: