|
@@ -423,7 +423,7 @@ EXPORT_SYMBOL_GPL(svc_bind);
|
|
|
*/
|
|
|
static struct svc_serv *
|
|
|
__svc_create(struct svc_program *prog, unsigned int bufsize, int npools,
|
|
|
- void (*shutdown)(struct svc_serv *serv, struct net *net))
|
|
|
+ struct svc_serv_ops *ops)
|
|
|
{
|
|
|
struct svc_serv *serv;
|
|
|
unsigned int vers;
|
|
@@ -440,7 +440,7 @@ __svc_create(struct svc_program *prog, unsigned int bufsize, int npools,
|
|
|
bufsize = RPCSVC_MAXPAYLOAD;
|
|
|
serv->sv_max_payload = bufsize? bufsize : 4096;
|
|
|
serv->sv_max_mesg = roundup(serv->sv_max_payload + PAGE_SIZE, PAGE_SIZE);
|
|
|
- serv->sv_shutdown = shutdown;
|
|
|
+ serv->sv_ops = ops;
|
|
|
xdrsize = 0;
|
|
|
while (prog) {
|
|
|
prog->pg_lovers = prog->pg_nvers-1;
|
|
@@ -486,21 +486,21 @@ __svc_create(struct svc_program *prog, unsigned int bufsize, int npools,
|
|
|
|
|
|
struct svc_serv *
|
|
|
svc_create(struct svc_program *prog, unsigned int bufsize,
|
|
|
- void (*shutdown)(struct svc_serv *serv, struct net *net))
|
|
|
+ struct svc_serv_ops *ops)
|
|
|
{
|
|
|
- return __svc_create(prog, bufsize, /*npools*/1, shutdown);
|
|
|
+ return __svc_create(prog, bufsize, /*npools*/1, ops);
|
|
|
}
|
|
|
EXPORT_SYMBOL_GPL(svc_create);
|
|
|
|
|
|
struct svc_serv *
|
|
|
svc_create_pooled(struct svc_program *prog, unsigned int bufsize,
|
|
|
- void (*shutdown)(struct svc_serv *serv, struct net *net),
|
|
|
- svc_thread_fn func, struct module *mod)
|
|
|
+ struct svc_serv_ops *ops, svc_thread_fn func,
|
|
|
+ struct module *mod)
|
|
|
{
|
|
|
struct svc_serv *serv;
|
|
|
unsigned int npools = svc_pool_map_get();
|
|
|
|
|
|
- serv = __svc_create(prog, bufsize, npools, shutdown);
|
|
|
+ serv = __svc_create(prog, bufsize, npools, ops);
|
|
|
if (!serv)
|
|
|
goto out_err;
|
|
|
|
|
@@ -517,8 +517,8 @@ void svc_shutdown_net(struct svc_serv *serv, struct net *net)
|
|
|
{
|
|
|
svc_close_net(serv, net);
|
|
|
|
|
|
- if (serv->sv_shutdown)
|
|
|
- serv->sv_shutdown(serv, net);
|
|
|
+ if (serv->sv_ops->svo_shutdown)
|
|
|
+ serv->sv_ops->svo_shutdown(serv, net);
|
|
|
}
|
|
|
EXPORT_SYMBOL_GPL(svc_shutdown_net);
|
|
|
|