NFSv4.2/copyoffload: Convert GFP_NOFS to GFP_KERNEL
authorTrond Myklebust <trond.myklebust@hammerspace.com>
Sat, 29 Jan 2022 19:19:15 +0000 (14:19 -0500)
committerTrond Myklebust <trond.myklebust@hammerspace.com>
Fri, 25 Feb 2022 23:50:12 +0000 (18:50 -0500)
There doesn't seem to be any reason why the copy offload code can't use
GFP_KERNEL. It can't get called by direct reclaim.

Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
fs/nfs/callback_proc.c
fs/nfs/nfs42proc.c
fs/nfs/nfs4file.c

index c343666d9a4282cc47f37880cd40fa8096ddde98..39d1ec870d90449386d166cd44c079f37770cffc 100644 (file)
@@ -710,7 +710,7 @@ __be32 nfs4_callback_offload(void *data, void *dummy,
        struct nfs4_copy_state *copy, *tmp_copy;
        bool found = false;
 
-       copy = kzalloc(sizeof(struct nfs4_copy_state), GFP_NOFS);
+       copy = kzalloc(sizeof(struct nfs4_copy_state), GFP_KERNEL);
        if (!copy)
                return htonl(NFS4ERR_SERVERFAULT);
 
index 30ea1cbd305b88549e3154922cb2fda47928ba22..882bf84484acaaec8f52f936ef1ade7322bb8298 100644 (file)
@@ -181,7 +181,7 @@ static int handle_async_copy(struct nfs42_copy_res *res,
        struct nfs_open_context *dst_ctx = nfs_file_open_context(dst);
        struct nfs_open_context *src_ctx = nfs_file_open_context(src);
 
-       copy = kzalloc(sizeof(struct nfs4_copy_state), GFP_NOFS);
+       copy = kzalloc(sizeof(struct nfs4_copy_state), GFP_KERNEL);
        if (!copy)
                return -ENOMEM;
 
@@ -254,7 +254,7 @@ static int process_copy_commit(struct file *dst, loff_t pos_dst,
        struct nfs_commitres cres;
        int status = -ENOMEM;
 
-       cres.verf = kzalloc(sizeof(struct nfs_writeverf), GFP_NOFS);
+       cres.verf = kzalloc(sizeof(struct nfs_writeverf), GFP_KERNEL);
        if (!cres.verf)
                goto out;
 
@@ -357,7 +357,7 @@ static ssize_t _nfs42_proc_copy(struct file *src,
        res->commit_res.verf = NULL;
        if (args->sync) {
                res->commit_res.verf =
-                       kzalloc(sizeof(struct nfs_writeverf), GFP_NOFS);
+                       kzalloc(sizeof(struct nfs_writeverf), GFP_KERNEL);
                if (!res->commit_res.verf)
                        return -ENOMEM;
        }
@@ -552,7 +552,7 @@ static int nfs42_do_offload_cancel_async(struct file *dst,
        if (!(dst_server->caps & NFS_CAP_OFFLOAD_CANCEL))
                return -EOPNOTSUPP;
 
-       data = kzalloc(sizeof(struct nfs42_offloadcancel_data), GFP_NOFS);
+       data = kzalloc(sizeof(struct nfs42_offloadcancel_data), GFP_KERNEL);
        if (data == NULL)
                return -ENOMEM;
 
@@ -629,7 +629,7 @@ int nfs42_proc_copy_notify(struct file *src, struct file *dst,
        if (!(src_server->caps & NFS_CAP_COPY_NOTIFY))
                return -EOPNOTSUPP;
 
-       args = kzalloc(sizeof(struct nfs42_copy_notify_args), GFP_NOFS);
+       args = kzalloc(sizeof(struct nfs42_copy_notify_args), GFP_KERNEL);
        if (args == NULL)
                return -ENOMEM;
 
index ba117592a95b92113231624503107cd44c5095e4..d258933cf8c881ab9242f264cb3b7bc65e658047 100644 (file)
@@ -165,7 +165,7 @@ retry:
                if (sync)
                        return -EOPNOTSUPP;
                cn_resp = kzalloc(sizeof(struct nfs42_copy_notify_res),
-                               GFP_NOFS);
+                                 GFP_KERNEL);
                if (unlikely(cn_resp == NULL))
                        return -ENOMEM;
 
@@ -339,7 +339,7 @@ static struct file *__nfs42_ssc_open(struct vfsmount *ss_mnt,
 
        res = ERR_PTR(-ENOMEM);
        len = strlen(SSC_READ_NAME_BODY) + 16;
-       read_name = kzalloc(len, GFP_NOFS);
+       read_name = kzalloc(len, GFP_KERNEL);
        if (read_name == NULL)
                goto out;
        snprintf(read_name, len, SSC_READ_NAME_BODY, read_name_gen++);