Page allocation requests made when the SPARSE_PAGES flag is set are
allowed to fail, and are not critical. No need to spend a rare
resource.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
                /* ACL likes to be lazy in allocating pages - ACLs
                 * are small by default but can get huge. */
                if ((xdr->flags & XDRBUF_SPARSE_PAGES) && *ppage == NULL) {
-                       *ppage = alloc_page(GFP_ATOMIC);
+                       *ppage = alloc_page(GFP_NOWAIT | __GFP_NOWARN);
                        if (unlikely(*ppage == NULL)) {
                                if (copied == 0)
                                        copied = -ENOMEM;
 
                 */
                if (unlikely(xdrbuf->flags & XDRBUF_SPARSE_PAGES)) {
                        if (!*ppages)
-                               *ppages = alloc_page(GFP_ATOMIC);
+                               *ppages = alloc_page(GFP_NOWAIT | __GFP_NOWARN);
                        if (!*ppages)
                                return -ENOBUFS;
                }