Merge tag 'folio-6.0' of git://git.infradead.org/users/willy/pagecache
[platform/kernel/linux-starfive.git] / mm / filemap.c
index 8ccb868..0dec96e 100644 (file)
@@ -1968,6 +1968,10 @@ no_page:
                        gfp |= __GFP_WRITE;
                if (fgp_flags & FGP_NOFS)
                        gfp &= ~__GFP_FS;
+               if (fgp_flags & FGP_NOWAIT) {
+                       gfp &= ~GFP_KERNEL;
+                       gfp |= GFP_NOWAIT | __GFP_NOWARN;
+               }
 
                folio = filemap_alloc_folio(gfp, 0);
                if (!folio)