]> git.dujemihanovic.xyz Git - linux.git/commitdiff
sunrpc: merge svc_rqst_alloc() into svc_prepare_thread()
authorNeilBrown <neilb@suse.de>
Mon, 29 Jul 2024 21:19:41 +0000 (07:19 +1000)
committerChuck Lever <chuck.lever@oracle.com>
Fri, 20 Sep 2024 23:31:03 +0000 (19:31 -0400)
The only caller of svc_rqst_alloc() is svc_prepare_thread().  So merge
the one into the other and simplify.

Signed-off-by: NeilBrown <neilb@suse.de>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
net/sunrpc/svc.c

index f30eeae56c448d107675ceca13ce887ec46ae5cb..17f0f59c068ff2e405f9e2f21b64526fcc6612cb 100644 (file)
@@ -678,7 +678,7 @@ svc_rqst_free(struct svc_rqst *rqstp)
 }
 
 static struct svc_rqst *
-svc_rqst_alloc(struct svc_serv *serv, struct svc_pool *pool, int node)
+svc_prepare_thread(struct svc_serv *serv, struct svc_pool *pool, int node)
 {
        struct svc_rqst *rqstp;
 
@@ -706,21 +706,6 @@ svc_rqst_alloc(struct svc_serv *serv, struct svc_pool *pool, int node)
        if (!svc_init_buffer(rqstp, serv->sv_max_mesg, node))
                goto out_enomem;
 
-       return rqstp;
-out_enomem:
-       svc_rqst_free(rqstp);
-       return NULL;
-}
-
-static struct svc_rqst *
-svc_prepare_thread(struct svc_serv *serv, struct svc_pool *pool, int node)
-{
-       struct svc_rqst *rqstp;
-
-       rqstp = svc_rqst_alloc(serv, pool, node);
-       if (!rqstp)
-               return ERR_PTR(-ENOMEM);
-
        serv->sv_nrthreads += 1;
        pool->sp_nrthreads += 1;
 
@@ -730,6 +715,10 @@ svc_prepare_thread(struct svc_serv *serv, struct svc_pool *pool, int node)
        list_add_rcu(&rqstp->rq_all, &pool->sp_all_threads);
 
        return rqstp;
+
+out_enomem:
+       svc_rqst_free(rqstp);
+       return NULL;
 }
 
 /**
@@ -810,8 +799,8 @@ svc_start_kthreads(struct svc_serv *serv, struct svc_pool *pool, int nrservs)
                node = svc_pool_map_get_node(chosen_pool->sp_id);
 
                rqstp = svc_prepare_thread(serv, chosen_pool, node);
-               if (IS_ERR(rqstp))
-                       return PTR_ERR(rqstp);
+               if (!rqstp)
+                       return -ENOMEM;
                task = kthread_create_on_node(serv->sv_threadfn, rqstp,
                                              node, "%s", serv->sv_name);
                if (IS_ERR(task)) {