spin_unlock(&mirror->lock);
 
        if (report)
-               pnfs_report_layoutstat(inode, GFP_KERNEL);
+               pnfs_report_layoutstat(inode, nfs_io_gfp_mask());
 }
 
 static void
        spin_unlock(&mirror->lock);
 
        if (report)
-               pnfs_report_layoutstat(inode, GFP_KERNEL);
+               pnfs_report_layoutstat(inode, nfs_io_gfp_mask());
 }
 
 static void
                      bool strict_iomode)
 {
        pnfs_put_lseg(pgio->pg_lseg);
-       pgio->pg_lseg = pnfs_update_layout(pgio->pg_inode,
-                                          nfs_req_openctx(req),
-                                          req_offset(req),
-                                          req->wb_bytes,
-                                          IOMODE_READ,
-                                          strict_iomode,
-                                          GFP_KERNEL);
+       pgio->pg_lseg =
+               pnfs_update_layout(pgio->pg_inode, nfs_req_openctx(req),
+                                  req_offset(req), req->wb_bytes, IOMODE_READ,
+                                  strict_iomode, nfs_io_gfp_mask());
        if (IS_ERR(pgio->pg_lseg)) {
                pgio->pg_error = PTR_ERR(pgio->pg_lseg);
                pgio->pg_lseg = NULL;
 retry:
        ff_layout_pg_check_layout(pgio, req);
        if (!pgio->pg_lseg) {
-               pgio->pg_lseg = pnfs_update_layout(pgio->pg_inode,
-                                                  nfs_req_openctx(req),
-                                                  req_offset(req),
-                                                  req->wb_bytes,
-                                                  IOMODE_RW,
-                                                  false,
-                                                  GFP_KERNEL);
+               pgio->pg_lseg =
+                       pnfs_update_layout(pgio->pg_inode, nfs_req_openctx(req),
+                                          req_offset(req), req->wb_bytes,
+                                          IOMODE_RW, false, nfs_io_gfp_mask());
                if (IS_ERR(pgio->pg_lseg)) {
                        pgio->pg_error = PTR_ERR(pgio->pg_lseg);
                        pgio->pg_lseg = NULL;
                                    struct nfs_page *req)
 {
        if (!pgio->pg_lseg) {
-               pgio->pg_lseg = pnfs_update_layout(pgio->pg_inode,
-                                                  nfs_req_openctx(req),
-                                                  req_offset(req),
-                                                  req->wb_bytes,
-                                                  IOMODE_RW,
-                                                  false,
-                                                  GFP_KERNEL);
+               pgio->pg_lseg =
+                       pnfs_update_layout(pgio->pg_inode, nfs_req_openctx(req),
+                                          req_offset(req), req->wb_bytes,
+                                          IOMODE_RW, false, nfs_io_gfp_mask());
                if (IS_ERR(pgio->pg_lseg)) {
                        pgio->pg_error = PTR_ERR(pgio->pg_lseg);
                        pgio->pg_lseg = NULL;
        mirror = FF_LAYOUT_COMP(lseg, idx);
        err = ff_layout_track_ds_error(FF_LAYOUT_FROM_HDR(lseg->pls_layout),
                                       mirror, offset, length, status, opnum,
-                                      GFP_KERNEL);
+                                      nfs_io_gfp_mask());
 
        switch (status) {
        case NFS4ERR_DELAY:
        struct inode *inode = lseg->pls_layout->plh_inode;
        struct pnfs_commit_array *array, *new;
 
-       new = pnfs_alloc_commit_array(flseg->mirror_array_cnt, GFP_KERNEL);
+       new = pnfs_alloc_commit_array(flseg->mirror_array_cnt,
+                                     nfs_io_gfp_mask());
        if (new) {
                spin_lock(&inode->i_lock);
                array = pnfs_add_commit_array(fl_cinfo, new, lseg);
        struct nfs4_flexfile_layoutreturn_args *ff_args;
        struct nfs4_flexfile_layout *ff_layout = FF_LAYOUT_FROM_HDR(args->layout);
 
-       ff_args = kmalloc(sizeof(*ff_args), GFP_KERNEL);
+       ff_args = kmalloc(sizeof(*ff_args), nfs_io_gfp_mask());
        if (!ff_args)
                goto out_nomem;
-       ff_args->pages[0] = alloc_page(GFP_KERNEL);
+       ff_args->pages[0] = alloc_page(nfs_io_gfp_mask());
        if (!ff_args->pages[0])
                goto out_nomem_free;
 
                return;
 
        errors = kmalloc_array(NFS42_LAYOUTERROR_MAX, sizeof(*errors),
-                              GFP_KERNEL);
+                              nfs_io_gfp_mask());
        if (errors != NULL) {
                const struct nfs4_ff_layout_ds_err *pos;
                size_t n = 0;
 
        /* For now, send at most PNFS_LAYOUTSTATS_MAXDEV statistics */
        args->devinfo = kmalloc_array(dev_count, sizeof(*args->devinfo),
-                                     GFP_KERNEL);
+                                     nfs_io_gfp_mask());
        if (!args->devinfo)
                return -ENOMEM;