aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2007-07-14 15:39:59 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2008-01-30 02:05:28 -0500
commite8914c65f7f8d4e8701b8e78a12b714872ea0402 (patch)
tree54e0834fce6e8b834ad400e010e76215e7eb76e4
parenta6eaf8bdf9308b51ec84e358915fc65400029519 (diff)
SUNRPC: Restrict sunrpc client exports
The sunrpc client exports are not meant to be part of any official kernel API: they can change at the drop of a hat. Mark them as internal functions using EXPORT_SYMBOL_GPL. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-rw-r--r--net/sunrpc/auth.c18
-rw-r--r--net/sunrpc/clnt.c24
-rw-r--r--net/sunrpc/sched.c26
-rw-r--r--net/sunrpc/stats.c10
-rw-r--r--net/sunrpc/sysctl.c8
-rw-r--r--net/sunrpc/xprt.c2
6 files changed, 44 insertions, 44 deletions
diff --git a/net/sunrpc/auth.c b/net/sunrpc/auth.c
index 1025a0ea9bb7..eca941ce298b 100644
--- a/net/sunrpc/auth.c
+++ b/net/sunrpc/auth.c
@@ -51,7 +51,7 @@ rpcauth_register(const struct rpc_authops *ops)
51 spin_unlock(&rpc_authflavor_lock); 51 spin_unlock(&rpc_authflavor_lock);
52 return ret; 52 return ret;
53} 53}
54EXPORT_SYMBOL(rpcauth_register); 54EXPORT_SYMBOL_GPL(rpcauth_register);
55 55
56int 56int
57rpcauth_unregister(const struct rpc_authops *ops) 57rpcauth_unregister(const struct rpc_authops *ops)
@@ -69,7 +69,7 @@ rpcauth_unregister(const struct rpc_authops *ops)
69 spin_unlock(&rpc_authflavor_lock); 69 spin_unlock(&rpc_authflavor_lock);
70 return ret; 70 return ret;
71} 71}
72EXPORT_SYMBOL(rpcauth_unregister); 72EXPORT_SYMBOL_GPL(rpcauth_unregister);
73 73
74struct rpc_auth * 74struct rpc_auth *
75rpcauth_create(rpc_authflavor_t pseudoflavor, struct rpc_clnt *clnt) 75rpcauth_create(rpc_authflavor_t pseudoflavor, struct rpc_clnt *clnt)
@@ -104,7 +104,7 @@ rpcauth_create(rpc_authflavor_t pseudoflavor, struct rpc_clnt *clnt)
104out: 104out:
105 return auth; 105 return auth;
106} 106}
107EXPORT_SYMBOL(rpcauth_create); 107EXPORT_SYMBOL_GPL(rpcauth_create);
108 108
109void 109void
110rpcauth_release(struct rpc_auth *auth) 110rpcauth_release(struct rpc_auth *auth)
@@ -154,7 +154,7 @@ rpcauth_init_credcache(struct rpc_auth *auth)
154 auth->au_credcache = new; 154 auth->au_credcache = new;
155 return 0; 155 return 0;
156} 156}
157EXPORT_SYMBOL(rpcauth_init_credcache); 157EXPORT_SYMBOL_GPL(rpcauth_init_credcache);
158 158
159/* 159/*
160 * Destroy a list of credentials 160 * Destroy a list of credentials
@@ -217,7 +217,7 @@ rpcauth_destroy_credcache(struct rpc_auth *auth)
217 kfree(cache); 217 kfree(cache);
218 } 218 }
219} 219}
220EXPORT_SYMBOL(rpcauth_destroy_credcache); 220EXPORT_SYMBOL_GPL(rpcauth_destroy_credcache);
221 221
222/* 222/*
223 * Remove stale credentials. Avoid sleeping inside the loop. 223 * Remove stale credentials. Avoid sleeping inside the loop.
@@ -337,7 +337,7 @@ found:
337out: 337out:
338 return cred; 338 return cred;
339} 339}
340EXPORT_SYMBOL(rpcauth_lookup_credcache); 340EXPORT_SYMBOL_GPL(rpcauth_lookup_credcache);
341 341
342struct rpc_cred * 342struct rpc_cred *
343rpcauth_lookupcred(struct rpc_auth *auth, int flags) 343rpcauth_lookupcred(struct rpc_auth *auth, int flags)
@@ -356,7 +356,7 @@ rpcauth_lookupcred(struct rpc_auth *auth, int flags)
356 put_group_info(acred.group_info); 356 put_group_info(acred.group_info);
357 return ret; 357 return ret;
358} 358}
359EXPORT_SYMBOL(rpcauth_lookupcred); 359EXPORT_SYMBOL_GPL(rpcauth_lookupcred);
360 360
361void 361void
362rpcauth_init_cred(struct rpc_cred *cred, const struct auth_cred *acred, 362rpcauth_init_cred(struct rpc_cred *cred, const struct auth_cred *acred,
@@ -373,7 +373,7 @@ rpcauth_init_cred(struct rpc_cred *cred, const struct auth_cred *acred,
373#endif 373#endif
374 cred->cr_uid = acred->uid; 374 cred->cr_uid = acred->uid;
375} 375}
376EXPORT_SYMBOL(rpcauth_init_cred); 376EXPORT_SYMBOL_GPL(rpcauth_init_cred);
377 377
378struct rpc_cred * 378struct rpc_cred *
379rpcauth_bindcred(struct rpc_task *task) 379rpcauth_bindcred(struct rpc_task *task)
@@ -442,7 +442,7 @@ need_lock:
442out_destroy: 442out_destroy:
443 cred->cr_ops->crdestroy(cred); 443 cred->cr_ops->crdestroy(cred);
444} 444}
445EXPORT_SYMBOL(put_rpccred); 445EXPORT_SYMBOL_GPL(put_rpccred);
446 446
447void 447void
448rpcauth_unbindcred(struct rpc_task *task) 448rpcauth_unbindcred(struct rpc_task *task)
diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c
index 5b561f9b6a17..22092b91dd85 100644
--- a/net/sunrpc/clnt.c
+++ b/net/sunrpc/clnt.c
@@ -345,7 +345,7 @@ out_no_clnt:
345 dprintk("RPC: %s: returned error %d\n", __FUNCTION__, err); 345 dprintk("RPC: %s: returned error %d\n", __FUNCTION__, err);
346 return ERR_PTR(err); 346 return ERR_PTR(err);
347} 347}
348EXPORT_SYMBOL(rpc_clone_client); 348EXPORT_SYMBOL_GPL(rpc_clone_client);
349 349
350/* 350/*
351 * Properly shut down an RPC client, terminating all outstanding 351 * Properly shut down an RPC client, terminating all outstanding
@@ -364,7 +364,7 @@ void rpc_shutdown_client(struct rpc_clnt *clnt)
364 364
365 rpc_release_client(clnt); 365 rpc_release_client(clnt);
366} 366}
367EXPORT_SYMBOL(rpc_shutdown_client); 367EXPORT_SYMBOL_GPL(rpc_shutdown_client);
368 368
369/* 369/*
370 * Free an RPC client 370 * Free an RPC client
@@ -469,7 +469,7 @@ struct rpc_clnt *rpc_bind_new_program(struct rpc_clnt *old,
469out: 469out:
470 return clnt; 470 return clnt;
471} 471}
472EXPORT_SYMBOL(rpc_bind_new_program); 472EXPORT_SYMBOL_GPL(rpc_bind_new_program);
473 473
474/* 474/*
475 * Default callback for async RPC calls 475 * Default callback for async RPC calls
@@ -515,13 +515,13 @@ void rpc_clnt_sigmask(struct rpc_clnt *clnt, sigset_t *oldset)
515{ 515{
516 rpc_save_sigmask(oldset, clnt->cl_intr); 516 rpc_save_sigmask(oldset, clnt->cl_intr);
517} 517}
518EXPORT_SYMBOL(rpc_clnt_sigmask); 518EXPORT_SYMBOL_GPL(rpc_clnt_sigmask);
519 519
520void rpc_clnt_sigunmask(struct rpc_clnt *clnt, sigset_t *oldset) 520void rpc_clnt_sigunmask(struct rpc_clnt *clnt, sigset_t *oldset)
521{ 521{
522 rpc_restore_sigmask(oldset); 522 rpc_restore_sigmask(oldset);
523} 523}
524EXPORT_SYMBOL(rpc_clnt_sigunmask); 524EXPORT_SYMBOL_GPL(rpc_clnt_sigunmask);
525 525
526static 526static
527struct rpc_task *rpc_do_run_task(struct rpc_clnt *clnt, 527struct rpc_task *rpc_do_run_task(struct rpc_clnt *clnt,
@@ -577,7 +577,7 @@ int rpc_call_sync(struct rpc_clnt *clnt, struct rpc_message *msg, int flags)
577 rpc_put_task(task); 577 rpc_put_task(task);
578 return status; 578 return status;
579} 579}
580EXPORT_SYMBOL(rpc_call_sync); 580EXPORT_SYMBOL_GPL(rpc_call_sync);
581 581
582/** 582/**
583 * rpc_call_async - Perform an asynchronous RPC call 583 * rpc_call_async - Perform an asynchronous RPC call
@@ -599,7 +599,7 @@ rpc_call_async(struct rpc_clnt *clnt, struct rpc_message *msg, int flags,
599 rpc_put_task(task); 599 rpc_put_task(task);
600 return 0; 600 return 0;
601} 601}
602EXPORT_SYMBOL(rpc_call_async); 602EXPORT_SYMBOL_GPL(rpc_call_async);
603 603
604/** 604/**
605 * rpc_run_task - Allocate a new RPC task, then run rpc_execute against it 605 * rpc_run_task - Allocate a new RPC task, then run rpc_execute against it
@@ -614,7 +614,7 @@ struct rpc_task *rpc_run_task(struct rpc_clnt *clnt, int flags,
614{ 614{
615 return rpc_do_run_task(clnt, NULL, flags, tk_ops, data); 615 return rpc_do_run_task(clnt, NULL, flags, tk_ops, data);
616} 616}
617EXPORT_SYMBOL(rpc_run_task); 617EXPORT_SYMBOL_GPL(rpc_run_task);
618 618
619void 619void
620rpc_call_setup(struct rpc_task *task, struct rpc_message *msg, int flags) 620rpc_call_setup(struct rpc_task *task, struct rpc_message *msg, int flags)
@@ -632,7 +632,7 @@ rpc_call_setup(struct rpc_task *task, struct rpc_message *msg, int flags)
632 else 632 else
633 task->tk_action = rpc_exit_task; 633 task->tk_action = rpc_exit_task;
634} 634}
635EXPORT_SYMBOL(rpc_call_setup); 635EXPORT_SYMBOL_GPL(rpc_call_setup);
636 636
637/** 637/**
638 * rpc_peeraddr - extract remote peer address from clnt's xprt 638 * rpc_peeraddr - extract remote peer address from clnt's xprt
@@ -679,7 +679,7 @@ rpc_setbufsize(struct rpc_clnt *clnt, unsigned int sndsize, unsigned int rcvsize
679 if (xprt->ops->set_buffer_size) 679 if (xprt->ops->set_buffer_size)
680 xprt->ops->set_buffer_size(xprt, sndsize, rcvsize); 680 xprt->ops->set_buffer_size(xprt, sndsize, rcvsize);
681} 681}
682EXPORT_SYMBOL(rpc_setbufsize); 682EXPORT_SYMBOL_GPL(rpc_setbufsize);
683 683
684/* 684/*
685 * Return size of largest payload RPC client can support, in bytes 685 * Return size of largest payload RPC client can support, in bytes
@@ -719,7 +719,7 @@ rpc_restart_call(struct rpc_task *task)
719 719
720 task->tk_action = call_start; 720 task->tk_action = call_start;
721} 721}
722EXPORT_SYMBOL(rpc_restart_call); 722EXPORT_SYMBOL_GPL(rpc_restart_call);
723 723
724/* 724/*
725 * 0. Initial state 725 * 0. Initial state
@@ -1529,7 +1529,7 @@ struct rpc_task *rpc_call_null(struct rpc_clnt *clnt, struct rpc_cred *cred, int
1529 }; 1529 };
1530 return rpc_do_run_task(clnt, &msg, flags, &rpc_default_ops, NULL); 1530 return rpc_do_run_task(clnt, &msg, flags, &rpc_default_ops, NULL);
1531} 1531}
1532EXPORT_SYMBOL(rpc_call_null); 1532EXPORT_SYMBOL_GPL(rpc_call_null);
1533 1533
1534#ifdef RPC_DEBUG 1534#ifdef RPC_DEBUG
1535void rpc_show_tasks(void) 1535void rpc_show_tasks(void)
diff --git a/net/sunrpc/sched.c b/net/sunrpc/sched.c
index aff8ac6737c3..d0b4c7e11e06 100644
--- a/net/sunrpc/sched.c
+++ b/net/sunrpc/sched.c
@@ -243,7 +243,7 @@ void rpc_init_wait_queue(struct rpc_wait_queue *queue, const char *qname)
243{ 243{
244 __rpc_init_priority_wait_queue(queue, qname, 0); 244 __rpc_init_priority_wait_queue(queue, qname, 0);
245} 245}
246EXPORT_SYMBOL(rpc_init_wait_queue); 246EXPORT_SYMBOL_GPL(rpc_init_wait_queue);
247 247
248static int rpc_wait_bit_interruptible(void *word) 248static int rpc_wait_bit_interruptible(void *word)
249{ 249{
@@ -303,7 +303,7 @@ int __rpc_wait_for_completion_task(struct rpc_task *task, int (*action)(void *))
303 return wait_on_bit(&task->tk_runstate, RPC_TASK_ACTIVE, 303 return wait_on_bit(&task->tk_runstate, RPC_TASK_ACTIVE,
304 action, TASK_INTERRUPTIBLE); 304 action, TASK_INTERRUPTIBLE);
305} 305}
306EXPORT_SYMBOL(__rpc_wait_for_completion_task); 306EXPORT_SYMBOL_GPL(__rpc_wait_for_completion_task);
307 307
308/* 308/*
309 * Make an RPC task runnable. 309 * Make an RPC task runnable.
@@ -373,7 +373,7 @@ void rpc_sleep_on(struct rpc_wait_queue *q, struct rpc_task *task,
373 __rpc_sleep_on(q, task, action, timer); 373 __rpc_sleep_on(q, task, action, timer);
374 spin_unlock_bh(&q->lock); 374 spin_unlock_bh(&q->lock);
375} 375}
376EXPORT_SYMBOL(rpc_sleep_on); 376EXPORT_SYMBOL_GPL(rpc_sleep_on);
377 377
378/** 378/**
379 * __rpc_do_wake_up_task - wake up a single rpc_task 379 * __rpc_do_wake_up_task - wake up a single rpc_task
@@ -445,7 +445,7 @@ void rpc_wake_up_task(struct rpc_task *task)
445 } 445 }
446 rcu_read_unlock_bh(); 446 rcu_read_unlock_bh();
447} 447}
448EXPORT_SYMBOL(rpc_wake_up_task); 448EXPORT_SYMBOL_GPL(rpc_wake_up_task);
449 449
450/* 450/*
451 * Wake up the next task on a priority queue. 451 * Wake up the next task on a priority queue.
@@ -521,7 +521,7 @@ struct rpc_task * rpc_wake_up_next(struct rpc_wait_queue *queue)
521 521
522 return task; 522 return task;
523} 523}
524EXPORT_SYMBOL(rpc_wake_up_next); 524EXPORT_SYMBOL_GPL(rpc_wake_up_next);
525 525
526/** 526/**
527 * rpc_wake_up - wake up all rpc_tasks 527 * rpc_wake_up - wake up all rpc_tasks
@@ -547,7 +547,7 @@ void rpc_wake_up(struct rpc_wait_queue *queue)
547 spin_unlock(&queue->lock); 547 spin_unlock(&queue->lock);
548 rcu_read_unlock_bh(); 548 rcu_read_unlock_bh();
549} 549}
550EXPORT_SYMBOL(rpc_wake_up); 550EXPORT_SYMBOL_GPL(rpc_wake_up);
551 551
552/** 552/**
553 * rpc_wake_up_status - wake up all rpc_tasks and set their status value. 553 * rpc_wake_up_status - wake up all rpc_tasks and set their status value.
@@ -576,7 +576,7 @@ void rpc_wake_up_status(struct rpc_wait_queue *queue, int status)
576 spin_unlock(&queue->lock); 576 spin_unlock(&queue->lock);
577 rcu_read_unlock_bh(); 577 rcu_read_unlock_bh();
578} 578}
579EXPORT_SYMBOL(rpc_wake_up_status); 579EXPORT_SYMBOL_GPL(rpc_wake_up_status);
580 580
581static void __rpc_atrun(struct rpc_task *task) 581static void __rpc_atrun(struct rpc_task *task)
582{ 582{
@@ -591,7 +591,7 @@ void rpc_delay(struct rpc_task *task, unsigned long delay)
591 task->tk_timeout = delay; 591 task->tk_timeout = delay;
592 rpc_sleep_on(&delay_queue, task, NULL, __rpc_atrun); 592 rpc_sleep_on(&delay_queue, task, NULL, __rpc_atrun);
593} 593}
594EXPORT_SYMBOL(rpc_delay); 594EXPORT_SYMBOL_GPL(rpc_delay);
595 595
596/* 596/*
597 * Helper to call task->tk_ops->rpc_call_prepare 597 * Helper to call task->tk_ops->rpc_call_prepare
@@ -620,7 +620,7 @@ void rpc_exit_task(struct rpc_task *task)
620 } 620 }
621 } 621 }
622} 622}
623EXPORT_SYMBOL(rpc_exit_task); 623EXPORT_SYMBOL_GPL(rpc_exit_task);
624 624
625void rpc_release_calldata(const struct rpc_call_ops *ops, void *calldata) 625void rpc_release_calldata(const struct rpc_call_ops *ops, void *calldata)
626{ 626{
@@ -737,7 +737,7 @@ void rpc_execute(struct rpc_task *task)
737 rpc_set_running(task); 737 rpc_set_running(task);
738 __rpc_execute(task); 738 __rpc_execute(task);
739} 739}
740EXPORT_SYMBOL(rpc_execute); 740EXPORT_SYMBOL_GPL(rpc_execute);
741 741
742static void rpc_async_schedule(struct work_struct *work) 742static void rpc_async_schedule(struct work_struct *work)
743{ 743{
@@ -855,7 +855,7 @@ void rpc_init_task(struct rpc_task *task, struct rpc_clnt *clnt, int flags, cons
855 dprintk("RPC: new task initialized, procpid %u\n", 855 dprintk("RPC: new task initialized, procpid %u\n",
856 task_pid_nr(current)); 856 task_pid_nr(current));
857} 857}
858EXPORT_SYMBOL(rpc_init_task); 858EXPORT_SYMBOL_GPL(rpc_init_task);
859 859
860static struct rpc_task * 860static struct rpc_task *
861rpc_alloc_task(void) 861rpc_alloc_task(void)
@@ -910,7 +910,7 @@ void rpc_put_task(struct rpc_task *task)
910 call_rcu_bh(&task->u.tk_rcu, rpc_free_task); 910 call_rcu_bh(&task->u.tk_rcu, rpc_free_task);
911 rpc_release_calldata(tk_ops, calldata); 911 rpc_release_calldata(tk_ops, calldata);
912} 912}
913EXPORT_SYMBOL(rpc_put_task); 913EXPORT_SYMBOL_GPL(rpc_put_task);
914 914
915static void rpc_release_task(struct rpc_task *task) 915static void rpc_release_task(struct rpc_task *task)
916{ 916{
@@ -967,7 +967,7 @@ void rpc_killall_tasks(struct rpc_clnt *clnt)
967 } 967 }
968 spin_unlock(&clnt->cl_lock); 968 spin_unlock(&clnt->cl_lock);
969} 969}
970EXPORT_SYMBOL(rpc_killall_tasks); 970EXPORT_SYMBOL_GPL(rpc_killall_tasks);
971 971
972int rpciod_up(void) 972int rpciod_up(void)
973{ 973{
diff --git a/net/sunrpc/stats.c b/net/sunrpc/stats.c
index fd97a49a96d3..74df2d358e61 100644
--- a/net/sunrpc/stats.c
+++ b/net/sunrpc/stats.c
@@ -118,7 +118,7 @@ struct rpc_iostats *rpc_alloc_iostats(struct rpc_clnt *clnt)
118 new = kcalloc(clnt->cl_maxproc, sizeof(struct rpc_iostats), GFP_KERNEL); 118 new = kcalloc(clnt->cl_maxproc, sizeof(struct rpc_iostats), GFP_KERNEL);
119 return new; 119 return new;
120} 120}
121EXPORT_SYMBOL(rpc_alloc_iostats); 121EXPORT_SYMBOL_GPL(rpc_alloc_iostats);
122 122
123/** 123/**
124 * rpc_free_iostats - release an rpc_iostats structure 124 * rpc_free_iostats - release an rpc_iostats structure
@@ -129,7 +129,7 @@ void rpc_free_iostats(struct rpc_iostats *stats)
129{ 129{
130 kfree(stats); 130 kfree(stats);
131} 131}
132EXPORT_SYMBOL(rpc_free_iostats); 132EXPORT_SYMBOL_GPL(rpc_free_iostats);
133 133
134/** 134/**
135 * rpc_count_iostats - tally up per-task stats 135 * rpc_count_iostats - tally up per-task stats
@@ -215,7 +215,7 @@ void rpc_print_iostats(struct seq_file *seq, struct rpc_clnt *clnt)
215 metrics->om_execute * MILLISECS_PER_JIFFY); 215 metrics->om_execute * MILLISECS_PER_JIFFY);
216 } 216 }
217} 217}
218EXPORT_SYMBOL(rpc_print_iostats); 218EXPORT_SYMBOL_GPL(rpc_print_iostats);
219 219
220/* 220/*
221 * Register/unregister RPC proc files 221 * Register/unregister RPC proc files
@@ -241,14 +241,14 @@ rpc_proc_register(struct rpc_stat *statp)
241{ 241{
242 return do_register(statp->program->name, statp, &rpc_proc_fops); 242 return do_register(statp->program->name, statp, &rpc_proc_fops);
243} 243}
244EXPORT_SYMBOL(rpc_proc_register); 244EXPORT_SYMBOL_GPL(rpc_proc_register);
245 245
246void 246void
247rpc_proc_unregister(const char *name) 247rpc_proc_unregister(const char *name)
248{ 248{
249 remove_proc_entry(name, proc_net_rpc); 249 remove_proc_entry(name, proc_net_rpc);
250} 250}
251EXPORT_SYMBOL(rpc_proc_unregister); 251EXPORT_SYMBOL_GPL(rpc_proc_unregister);
252 252
253struct proc_dir_entry * 253struct proc_dir_entry *
254svc_proc_register(struct svc_stat *statp, const struct file_operations *fops) 254svc_proc_register(struct svc_stat *statp, const struct file_operations *fops)
diff --git a/net/sunrpc/sysctl.c b/net/sunrpc/sysctl.c
index c879732ae9d0..bada7de0c2fc 100644
--- a/net/sunrpc/sysctl.c
+++ b/net/sunrpc/sysctl.c
@@ -23,16 +23,16 @@
23 * Declare the debug flags here 23 * Declare the debug flags here
24 */ 24 */
25unsigned int rpc_debug; 25unsigned int rpc_debug;
26EXPORT_SYMBOL(rpc_debug); 26EXPORT_SYMBOL_GPL(rpc_debug);
27 27
28unsigned int nfs_debug; 28unsigned int nfs_debug;
29EXPORT_SYMBOL(nfs_debug); 29EXPORT_SYMBOL_GPL(nfs_debug);
30 30
31unsigned int nfsd_debug; 31unsigned int nfsd_debug;
32EXPORT_SYMBOL(nfsd_debug); 32EXPORT_SYMBOL_GPL(nfsd_debug);
33 33
34unsigned int nlm_debug; 34unsigned int nlm_debug;
35EXPORT_SYMBOL(nlm_debug); 35EXPORT_SYMBOL_GPL(nlm_debug);
36 36
37#ifdef RPC_DEBUG 37#ifdef RPC_DEBUG
38 38
diff --git a/net/sunrpc/xprt.c b/net/sunrpc/xprt.c
index 1fd47f918bb9..7520c6623c46 100644
--- a/net/sunrpc/xprt.c
+++ b/net/sunrpc/xprt.c
@@ -992,7 +992,7 @@ void xprt_set_timeout(struct rpc_timeout *to, unsigned int retr, unsigned long i
992 to->to_retries = retr; 992 to->to_retries = retr;
993 to->to_exponential = 0; 993 to->to_exponential = 0;
994} 994}
995EXPORT_SYMBOL(xprt_set_timeout); 995EXPORT_SYMBOL_GPL(xprt_set_timeout);
996 996
997/** 997/**
998 * xprt_create_transport - create an RPC transport 998 * xprt_create_transport - create an RPC transport