diff options
-rw-r--r-- | net/sunrpc/auth.c | 8 | ||||
-rw-r--r-- | net/sunrpc/clnt.c | 10 | ||||
-rw-r--r-- | net/sunrpc/rpc_pipe.c | 3 | ||||
-rw-r--r-- | net/sunrpc/sched.c | 9 | ||||
-rw-r--r-- | net/sunrpc/stats.c | 2 | ||||
-rw-r--r-- | net/sunrpc/sunrpc_syms.c | 66 | ||||
-rw-r--r-- | net/sunrpc/sysctl.c | 7 | ||||
-rw-r--r-- | net/sunrpc/xdr.c | 16 | ||||
-rw-r--r-- | net/sunrpc/xprt.c | 1 |
9 files changed, 55 insertions, 67 deletions
diff --git a/net/sunrpc/auth.c b/net/sunrpc/auth.c index 1ea27559b1de..1025a0ea9bb7 100644 --- a/net/sunrpc/auth.c +++ b/net/sunrpc/auth.c | |||
@@ -51,6 +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 | } |
54 | EXPORT_SYMBOL(rpcauth_register); | ||
54 | 55 | ||
55 | int | 56 | int |
56 | rpcauth_unregister(const struct rpc_authops *ops) | 57 | rpcauth_unregister(const struct rpc_authops *ops) |
@@ -68,6 +69,7 @@ rpcauth_unregister(const struct rpc_authops *ops) | |||
68 | spin_unlock(&rpc_authflavor_lock); | 69 | spin_unlock(&rpc_authflavor_lock); |
69 | return ret; | 70 | return ret; |
70 | } | 71 | } |
72 | EXPORT_SYMBOL(rpcauth_unregister); | ||
71 | 73 | ||
72 | struct rpc_auth * | 74 | struct rpc_auth * |
73 | rpcauth_create(rpc_authflavor_t pseudoflavor, struct rpc_clnt *clnt) | 75 | rpcauth_create(rpc_authflavor_t pseudoflavor, struct rpc_clnt *clnt) |
@@ -102,6 +104,7 @@ rpcauth_create(rpc_authflavor_t pseudoflavor, struct rpc_clnt *clnt) | |||
102 | out: | 104 | out: |
103 | return auth; | 105 | return auth; |
104 | } | 106 | } |
107 | EXPORT_SYMBOL(rpcauth_create); | ||
105 | 108 | ||
106 | void | 109 | void |
107 | rpcauth_release(struct rpc_auth *auth) | 110 | rpcauth_release(struct rpc_auth *auth) |
@@ -151,6 +154,7 @@ rpcauth_init_credcache(struct rpc_auth *auth) | |||
151 | auth->au_credcache = new; | 154 | auth->au_credcache = new; |
152 | return 0; | 155 | return 0; |
153 | } | 156 | } |
157 | EXPORT_SYMBOL(rpcauth_init_credcache); | ||
154 | 158 | ||
155 | /* | 159 | /* |
156 | * Destroy a list of credentials | 160 | * Destroy a list of credentials |
@@ -213,6 +217,7 @@ rpcauth_destroy_credcache(struct rpc_auth *auth) | |||
213 | kfree(cache); | 217 | kfree(cache); |
214 | } | 218 | } |
215 | } | 219 | } |
220 | EXPORT_SYMBOL(rpcauth_destroy_credcache); | ||
216 | 221 | ||
217 | /* | 222 | /* |
218 | * Remove stale credentials. Avoid sleeping inside the loop. | 223 | * Remove stale credentials. Avoid sleeping inside the loop. |
@@ -332,6 +337,7 @@ found: | |||
332 | out: | 337 | out: |
333 | return cred; | 338 | return cred; |
334 | } | 339 | } |
340 | EXPORT_SYMBOL(rpcauth_lookup_credcache); | ||
335 | 341 | ||
336 | struct rpc_cred * | 342 | struct rpc_cred * |
337 | rpcauth_lookupcred(struct rpc_auth *auth, int flags) | 343 | rpcauth_lookupcred(struct rpc_auth *auth, int flags) |
@@ -350,6 +356,7 @@ rpcauth_lookupcred(struct rpc_auth *auth, int flags) | |||
350 | put_group_info(acred.group_info); | 356 | put_group_info(acred.group_info); |
351 | return ret; | 357 | return ret; |
352 | } | 358 | } |
359 | EXPORT_SYMBOL(rpcauth_lookupcred); | ||
353 | 360 | ||
354 | void | 361 | void |
355 | rpcauth_init_cred(struct rpc_cred *cred, const struct auth_cred *acred, | 362 | rpcauth_init_cred(struct rpc_cred *cred, const struct auth_cred *acred, |
@@ -435,6 +442,7 @@ need_lock: | |||
435 | out_destroy: | 442 | out_destroy: |
436 | cred->cr_ops->crdestroy(cred); | 443 | cred->cr_ops->crdestroy(cred); |
437 | } | 444 | } |
445 | EXPORT_SYMBOL(put_rpccred); | ||
438 | 446 | ||
439 | void | 447 | void |
440 | rpcauth_unbindcred(struct rpc_task *task) | 448 | rpcauth_unbindcred(struct rpc_task *task) |
diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c index 046d8f68483b..5b561f9b6a17 100644 --- a/net/sunrpc/clnt.c +++ b/net/sunrpc/clnt.c | |||
@@ -345,6 +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 | } |
348 | EXPORT_SYMBOL(rpc_clone_client); | ||
348 | 349 | ||
349 | /* | 350 | /* |
350 | * Properly shut down an RPC client, terminating all outstanding | 351 | * Properly shut down an RPC client, terminating all outstanding |
@@ -363,6 +364,7 @@ void rpc_shutdown_client(struct rpc_clnt *clnt) | |||
363 | 364 | ||
364 | rpc_release_client(clnt); | 365 | rpc_release_client(clnt); |
365 | } | 366 | } |
367 | EXPORT_SYMBOL(rpc_shutdown_client); | ||
366 | 368 | ||
367 | /* | 369 | /* |
368 | * Free an RPC client | 370 | * Free an RPC client |
@@ -467,6 +469,7 @@ struct rpc_clnt *rpc_bind_new_program(struct rpc_clnt *old, | |||
467 | out: | 469 | out: |
468 | return clnt; | 470 | return clnt; |
469 | } | 471 | } |
472 | EXPORT_SYMBOL(rpc_bind_new_program); | ||
470 | 473 | ||
471 | /* | 474 | /* |
472 | * Default callback for async RPC calls | 475 | * Default callback for async RPC calls |
@@ -512,11 +515,13 @@ void rpc_clnt_sigmask(struct rpc_clnt *clnt, sigset_t *oldset) | |||
512 | { | 515 | { |
513 | rpc_save_sigmask(oldset, clnt->cl_intr); | 516 | rpc_save_sigmask(oldset, clnt->cl_intr); |
514 | } | 517 | } |
518 | EXPORT_SYMBOL(rpc_clnt_sigmask); | ||
515 | 519 | ||
516 | void rpc_clnt_sigunmask(struct rpc_clnt *clnt, sigset_t *oldset) | 520 | void rpc_clnt_sigunmask(struct rpc_clnt *clnt, sigset_t *oldset) |
517 | { | 521 | { |
518 | rpc_restore_sigmask(oldset); | 522 | rpc_restore_sigmask(oldset); |
519 | } | 523 | } |
524 | EXPORT_SYMBOL(rpc_clnt_sigunmask); | ||
520 | 525 | ||
521 | static | 526 | static |
522 | struct rpc_task *rpc_do_run_task(struct rpc_clnt *clnt, | 527 | struct rpc_task *rpc_do_run_task(struct rpc_clnt *clnt, |
@@ -572,6 +577,7 @@ int rpc_call_sync(struct rpc_clnt *clnt, struct rpc_message *msg, int flags) | |||
572 | rpc_put_task(task); | 577 | rpc_put_task(task); |
573 | return status; | 578 | return status; |
574 | } | 579 | } |
580 | EXPORT_SYMBOL(rpc_call_sync); | ||
575 | 581 | ||
576 | /** | 582 | /** |
577 | * rpc_call_async - Perform an asynchronous RPC call | 583 | * rpc_call_async - Perform an asynchronous RPC call |
@@ -593,6 +599,7 @@ rpc_call_async(struct rpc_clnt *clnt, struct rpc_message *msg, int flags, | |||
593 | rpc_put_task(task); | 599 | rpc_put_task(task); |
594 | return 0; | 600 | return 0; |
595 | } | 601 | } |
602 | EXPORT_SYMBOL(rpc_call_async); | ||
596 | 603 | ||
597 | /** | 604 | /** |
598 | * 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 |
@@ -625,6 +632,7 @@ rpc_call_setup(struct rpc_task *task, struct rpc_message *msg, int flags) | |||
625 | else | 632 | else |
626 | task->tk_action = rpc_exit_task; | 633 | task->tk_action = rpc_exit_task; |
627 | } | 634 | } |
635 | EXPORT_SYMBOL(rpc_call_setup); | ||
628 | 636 | ||
629 | /** | 637 | /** |
630 | * rpc_peeraddr - extract remote peer address from clnt's xprt | 638 | * rpc_peeraddr - extract remote peer address from clnt's xprt |
@@ -671,6 +679,7 @@ rpc_setbufsize(struct rpc_clnt *clnt, unsigned int sndsize, unsigned int rcvsize | |||
671 | if (xprt->ops->set_buffer_size) | 679 | if (xprt->ops->set_buffer_size) |
672 | xprt->ops->set_buffer_size(xprt, sndsize, rcvsize); | 680 | xprt->ops->set_buffer_size(xprt, sndsize, rcvsize); |
673 | } | 681 | } |
682 | EXPORT_SYMBOL(rpc_setbufsize); | ||
674 | 683 | ||
675 | /* | 684 | /* |
676 | * Return size of largest payload RPC client can support, in bytes | 685 | * Return size of largest payload RPC client can support, in bytes |
@@ -710,6 +719,7 @@ rpc_restart_call(struct rpc_task *task) | |||
710 | 719 | ||
711 | task->tk_action = call_start; | 720 | task->tk_action = call_start; |
712 | } | 721 | } |
722 | EXPORT_SYMBOL(rpc_restart_call); | ||
713 | 723 | ||
714 | /* | 724 | /* |
715 | * 0. Initial state | 725 | * 0. Initial state |
diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c index 5364e2e52e07..19b44e53e421 100644 --- a/net/sunrpc/rpc_pipe.c +++ b/net/sunrpc/rpc_pipe.c | |||
@@ -113,6 +113,7 @@ out: | |||
113 | wake_up(&rpci->waitq); | 113 | wake_up(&rpci->waitq); |
114 | return res; | 114 | return res; |
115 | } | 115 | } |
116 | EXPORT_SYMBOL(rpc_queue_upcall); | ||
116 | 117 | ||
117 | static inline void | 118 | static inline void |
118 | rpc_inode_setowner(struct inode *inode, void *private) | 119 | rpc_inode_setowner(struct inode *inode, void *private) |
@@ -805,6 +806,7 @@ err_dput: | |||
805 | -ENOMEM); | 806 | -ENOMEM); |
806 | goto out; | 807 | goto out; |
807 | } | 808 | } |
809 | EXPORT_SYMBOL(rpc_mkpipe); | ||
808 | 810 | ||
809 | /** | 811 | /** |
810 | * rpc_unlink - remove a pipe | 812 | * rpc_unlink - remove a pipe |
@@ -835,6 +837,7 @@ rpc_unlink(struct dentry *dentry) | |||
835 | dput(parent); | 837 | dput(parent); |
836 | return error; | 838 | return error; |
837 | } | 839 | } |
840 | EXPORT_SYMBOL(rpc_unlink); | ||
838 | 841 | ||
839 | /* | 842 | /* |
840 | * populate the filesystem | 843 | * populate the filesystem |
diff --git a/net/sunrpc/sched.c b/net/sunrpc/sched.c index eed5dd9819cd..aff8ac6737c3 100644 --- a/net/sunrpc/sched.c +++ b/net/sunrpc/sched.c | |||
@@ -373,6 +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 | } |
376 | EXPORT_SYMBOL(rpc_sleep_on); | ||
376 | 377 | ||
377 | /** | 378 | /** |
378 | * __rpc_do_wake_up_task - wake up a single rpc_task | 379 | * __rpc_do_wake_up_task - wake up a single rpc_task |
@@ -444,6 +445,7 @@ void rpc_wake_up_task(struct rpc_task *task) | |||
444 | } | 445 | } |
445 | rcu_read_unlock_bh(); | 446 | rcu_read_unlock_bh(); |
446 | } | 447 | } |
448 | EXPORT_SYMBOL(rpc_wake_up_task); | ||
447 | 449 | ||
448 | /* | 450 | /* |
449 | * Wake up the next task on a priority queue. | 451 | * Wake up the next task on a priority queue. |
@@ -519,6 +521,7 @@ struct rpc_task * rpc_wake_up_next(struct rpc_wait_queue *queue) | |||
519 | 521 | ||
520 | return task; | 522 | return task; |
521 | } | 523 | } |
524 | EXPORT_SYMBOL(rpc_wake_up_next); | ||
522 | 525 | ||
523 | /** | 526 | /** |
524 | * rpc_wake_up - wake up all rpc_tasks | 527 | * rpc_wake_up - wake up all rpc_tasks |
@@ -544,6 +547,7 @@ void rpc_wake_up(struct rpc_wait_queue *queue) | |||
544 | spin_unlock(&queue->lock); | 547 | spin_unlock(&queue->lock); |
545 | rcu_read_unlock_bh(); | 548 | rcu_read_unlock_bh(); |
546 | } | 549 | } |
550 | EXPORT_SYMBOL(rpc_wake_up); | ||
547 | 551 | ||
548 | /** | 552 | /** |
549 | * 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. |
@@ -572,6 +576,7 @@ void rpc_wake_up_status(struct rpc_wait_queue *queue, int status) | |||
572 | spin_unlock(&queue->lock); | 576 | spin_unlock(&queue->lock); |
573 | rcu_read_unlock_bh(); | 577 | rcu_read_unlock_bh(); |
574 | } | 578 | } |
579 | EXPORT_SYMBOL(rpc_wake_up_status); | ||
575 | 580 | ||
576 | static void __rpc_atrun(struct rpc_task *task) | 581 | static void __rpc_atrun(struct rpc_task *task) |
577 | { | 582 | { |
@@ -586,6 +591,7 @@ void rpc_delay(struct rpc_task *task, unsigned long delay) | |||
586 | task->tk_timeout = delay; | 591 | task->tk_timeout = delay; |
587 | rpc_sleep_on(&delay_queue, task, NULL, __rpc_atrun); | 592 | rpc_sleep_on(&delay_queue, task, NULL, __rpc_atrun); |
588 | } | 593 | } |
594 | EXPORT_SYMBOL(rpc_delay); | ||
589 | 595 | ||
590 | /* | 596 | /* |
591 | * Helper to call task->tk_ops->rpc_call_prepare | 597 | * Helper to call task->tk_ops->rpc_call_prepare |
@@ -731,6 +737,7 @@ void rpc_execute(struct rpc_task *task) | |||
731 | rpc_set_running(task); | 737 | rpc_set_running(task); |
732 | __rpc_execute(task); | 738 | __rpc_execute(task); |
733 | } | 739 | } |
740 | EXPORT_SYMBOL(rpc_execute); | ||
734 | 741 | ||
735 | static void rpc_async_schedule(struct work_struct *work) | 742 | static void rpc_async_schedule(struct work_struct *work) |
736 | { | 743 | { |
@@ -848,6 +855,7 @@ void rpc_init_task(struct rpc_task *task, struct rpc_clnt *clnt, int flags, cons | |||
848 | dprintk("RPC: new task initialized, procpid %u\n", | 855 | dprintk("RPC: new task initialized, procpid %u\n", |
849 | task_pid_nr(current)); | 856 | task_pid_nr(current)); |
850 | } | 857 | } |
858 | EXPORT_SYMBOL(rpc_init_task); | ||
851 | 859 | ||
852 | static struct rpc_task * | 860 | static struct rpc_task * |
853 | rpc_alloc_task(void) | 861 | rpc_alloc_task(void) |
@@ -959,6 +967,7 @@ void rpc_killall_tasks(struct rpc_clnt *clnt) | |||
959 | } | 967 | } |
960 | spin_unlock(&clnt->cl_lock); | 968 | spin_unlock(&clnt->cl_lock); |
961 | } | 969 | } |
970 | EXPORT_SYMBOL(rpc_killall_tasks); | ||
962 | 971 | ||
963 | int rpciod_up(void) | 972 | int rpciod_up(void) |
964 | { | 973 | { |
diff --git a/net/sunrpc/stats.c b/net/sunrpc/stats.c index 4d4f3738b688..fd97a49a96d3 100644 --- a/net/sunrpc/stats.c +++ b/net/sunrpc/stats.c | |||
@@ -241,12 +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 | } |
244 | EXPORT_SYMBOL(rpc_proc_register); | ||
244 | 245 | ||
245 | void | 246 | void |
246 | rpc_proc_unregister(const char *name) | 247 | rpc_proc_unregister(const char *name) |
247 | { | 248 | { |
248 | remove_proc_entry(name, proc_net_rpc); | 249 | remove_proc_entry(name, proc_net_rpc); |
249 | } | 250 | } |
251 | EXPORT_SYMBOL(rpc_proc_unregister); | ||
250 | 252 | ||
251 | struct proc_dir_entry * | 253 | struct proc_dir_entry * |
252 | svc_proc_register(struct svc_stat *statp, const struct file_operations *fops) | 254 | svc_proc_register(struct svc_stat *statp, const struct file_operations *fops) |
diff --git a/net/sunrpc/sunrpc_syms.c b/net/sunrpc/sunrpc_syms.c index 33d89e842c85..1a7e309d008b 100644 --- a/net/sunrpc/sunrpc_syms.c +++ b/net/sunrpc/sunrpc_syms.c | |||
@@ -22,45 +22,6 @@ | |||
22 | #include <linux/sunrpc/rpc_pipe_fs.h> | 22 | #include <linux/sunrpc/rpc_pipe_fs.h> |
23 | #include <linux/sunrpc/xprtsock.h> | 23 | #include <linux/sunrpc/xprtsock.h> |
24 | 24 | ||
25 | /* RPC scheduler */ | ||
26 | EXPORT_SYMBOL(rpc_execute); | ||
27 | EXPORT_SYMBOL(rpc_init_task); | ||
28 | EXPORT_SYMBOL(rpc_sleep_on); | ||
29 | EXPORT_SYMBOL(rpc_wake_up_next); | ||
30 | EXPORT_SYMBOL(rpc_wake_up_task); | ||
31 | EXPORT_SYMBOL(rpc_wake_up_status); | ||
32 | |||
33 | /* RPC client functions */ | ||
34 | EXPORT_SYMBOL(rpc_clone_client); | ||
35 | EXPORT_SYMBOL(rpc_bind_new_program); | ||
36 | EXPORT_SYMBOL(rpc_shutdown_client); | ||
37 | EXPORT_SYMBOL(rpc_killall_tasks); | ||
38 | EXPORT_SYMBOL(rpc_call_sync); | ||
39 | EXPORT_SYMBOL(rpc_call_async); | ||
40 | EXPORT_SYMBOL(rpc_call_setup); | ||
41 | EXPORT_SYMBOL(rpc_clnt_sigmask); | ||
42 | EXPORT_SYMBOL(rpc_clnt_sigunmask); | ||
43 | EXPORT_SYMBOL(rpc_delay); | ||
44 | EXPORT_SYMBOL(rpc_restart_call); | ||
45 | EXPORT_SYMBOL(rpc_setbufsize); | ||
46 | EXPORT_SYMBOL(rpc_unlink); | ||
47 | EXPORT_SYMBOL(rpc_wake_up); | ||
48 | EXPORT_SYMBOL(rpc_queue_upcall); | ||
49 | EXPORT_SYMBOL(rpc_mkpipe); | ||
50 | |||
51 | /* Client transport */ | ||
52 | EXPORT_SYMBOL(xprt_set_timeout); | ||
53 | |||
54 | /* Client credential cache */ | ||
55 | EXPORT_SYMBOL(rpcauth_register); | ||
56 | EXPORT_SYMBOL(rpcauth_unregister); | ||
57 | EXPORT_SYMBOL(rpcauth_create); | ||
58 | EXPORT_SYMBOL(rpcauth_lookupcred); | ||
59 | EXPORT_SYMBOL(rpcauth_lookup_credcache); | ||
60 | EXPORT_SYMBOL(rpcauth_destroy_credcache); | ||
61 | EXPORT_SYMBOL(rpcauth_init_credcache); | ||
62 | EXPORT_SYMBOL(put_rpccred); | ||
63 | |||
64 | /* RPC server stuff */ | 25 | /* RPC server stuff */ |
65 | EXPORT_SYMBOL(svc_create); | 26 | EXPORT_SYMBOL(svc_create); |
66 | EXPORT_SYMBOL(svc_create_thread); | 27 | EXPORT_SYMBOL(svc_create_thread); |
@@ -81,8 +42,6 @@ EXPORT_SYMBOL(svc_set_client); | |||
81 | 42 | ||
82 | /* RPC statistics */ | 43 | /* RPC statistics */ |
83 | #ifdef CONFIG_PROC_FS | 44 | #ifdef CONFIG_PROC_FS |
84 | EXPORT_SYMBOL(rpc_proc_register); | ||
85 | EXPORT_SYMBOL(rpc_proc_unregister); | ||
86 | EXPORT_SYMBOL(svc_proc_register); | 45 | EXPORT_SYMBOL(svc_proc_register); |
87 | EXPORT_SYMBOL(svc_proc_unregister); | 46 | EXPORT_SYMBOL(svc_proc_unregister); |
88 | EXPORT_SYMBOL(svc_seq_show); | 47 | EXPORT_SYMBOL(svc_seq_show); |
@@ -105,31 +64,6 @@ EXPORT_SYMBOL(qword_get); | |||
105 | EXPORT_SYMBOL(svcauth_unix_purge); | 64 | EXPORT_SYMBOL(svcauth_unix_purge); |
106 | EXPORT_SYMBOL(unix_domain_find); | 65 | EXPORT_SYMBOL(unix_domain_find); |
107 | 66 | ||
108 | /* Generic XDR */ | ||
109 | EXPORT_SYMBOL(xdr_encode_string); | ||
110 | EXPORT_SYMBOL(xdr_decode_string_inplace); | ||
111 | EXPORT_SYMBOL(xdr_decode_netobj); | ||
112 | EXPORT_SYMBOL(xdr_encode_netobj); | ||
113 | EXPORT_SYMBOL(xdr_encode_pages); | ||
114 | EXPORT_SYMBOL(xdr_inline_pages); | ||
115 | EXPORT_SYMBOL(xdr_shift_buf); | ||
116 | EXPORT_SYMBOL(xdr_encode_word); | ||
117 | EXPORT_SYMBOL(xdr_decode_word); | ||
118 | EXPORT_SYMBOL(xdr_encode_array2); | ||
119 | EXPORT_SYMBOL(xdr_decode_array2); | ||
120 | EXPORT_SYMBOL(xdr_buf_from_iov); | ||
121 | EXPORT_SYMBOL(xdr_buf_subsegment); | ||
122 | EXPORT_SYMBOL(xdr_buf_read_netobj); | ||
123 | EXPORT_SYMBOL(read_bytes_from_xdr_buf); | ||
124 | |||
125 | /* Debugging symbols */ | ||
126 | #ifdef RPC_DEBUG | ||
127 | EXPORT_SYMBOL(rpc_debug); | ||
128 | EXPORT_SYMBOL(nfs_debug); | ||
129 | EXPORT_SYMBOL(nfsd_debug); | ||
130 | EXPORT_SYMBOL(nlm_debug); | ||
131 | #endif | ||
132 | |||
133 | extern struct cache_detail ip_map_cache, unix_gid_cache; | 67 | extern struct cache_detail ip_map_cache, unix_gid_cache; |
134 | 68 | ||
135 | static int __init | 69 | static int __init |
diff --git a/net/sunrpc/sysctl.c b/net/sunrpc/sysctl.c index 2be714e9b382..c879732ae9d0 100644 --- a/net/sunrpc/sysctl.c +++ b/net/sunrpc/sysctl.c | |||
@@ -23,9 +23,16 @@ | |||
23 | * Declare the debug flags here | 23 | * Declare the debug flags here |
24 | */ | 24 | */ |
25 | unsigned int rpc_debug; | 25 | unsigned int rpc_debug; |
26 | EXPORT_SYMBOL(rpc_debug); | ||
27 | |||
26 | unsigned int nfs_debug; | 28 | unsigned int nfs_debug; |
29 | EXPORT_SYMBOL(nfs_debug); | ||
30 | |||
27 | unsigned int nfsd_debug; | 31 | unsigned int nfsd_debug; |
32 | EXPORT_SYMBOL(nfsd_debug); | ||
33 | |||
28 | unsigned int nlm_debug; | 34 | unsigned int nlm_debug; |
35 | EXPORT_SYMBOL(nlm_debug); | ||
29 | 36 | ||
30 | #ifdef RPC_DEBUG | 37 | #ifdef RPC_DEBUG |
31 | 38 | ||
diff --git a/net/sunrpc/xdr.c b/net/sunrpc/xdr.c index fdc5e6d7562b..54264062ea69 100644 --- a/net/sunrpc/xdr.c +++ b/net/sunrpc/xdr.c | |||
@@ -28,6 +28,7 @@ xdr_encode_netobj(__be32 *p, const struct xdr_netobj *obj) | |||
28 | memcpy(p, obj->data, obj->len); | 28 | memcpy(p, obj->data, obj->len); |
29 | return p + XDR_QUADLEN(obj->len); | 29 | return p + XDR_QUADLEN(obj->len); |
30 | } | 30 | } |
31 | EXPORT_SYMBOL(xdr_encode_netobj); | ||
31 | 32 | ||
32 | __be32 * | 33 | __be32 * |
33 | xdr_decode_netobj(__be32 *p, struct xdr_netobj *obj) | 34 | xdr_decode_netobj(__be32 *p, struct xdr_netobj *obj) |
@@ -40,6 +41,7 @@ xdr_decode_netobj(__be32 *p, struct xdr_netobj *obj) | |||
40 | obj->data = (u8 *) p; | 41 | obj->data = (u8 *) p; |
41 | return p + XDR_QUADLEN(len); | 42 | return p + XDR_QUADLEN(len); |
42 | } | 43 | } |
44 | EXPORT_SYMBOL(xdr_decode_netobj); | ||
43 | 45 | ||
44 | /** | 46 | /** |
45 | * xdr_encode_opaque_fixed - Encode fixed length opaque data | 47 | * xdr_encode_opaque_fixed - Encode fixed length opaque data |
@@ -91,6 +93,7 @@ xdr_encode_string(__be32 *p, const char *string) | |||
91 | { | 93 | { |
92 | return xdr_encode_array(p, string, strlen(string)); | 94 | return xdr_encode_array(p, string, strlen(string)); |
93 | } | 95 | } |
96 | EXPORT_SYMBOL(xdr_encode_string); | ||
94 | 97 | ||
95 | __be32 * | 98 | __be32 * |
96 | xdr_decode_string_inplace(__be32 *p, char **sp, int *lenp, int maxlen) | 99 | xdr_decode_string_inplace(__be32 *p, char **sp, int *lenp, int maxlen) |
@@ -103,6 +106,7 @@ xdr_decode_string_inplace(__be32 *p, char **sp, int *lenp, int maxlen) | |||
103 | *sp = (char *) p; | 106 | *sp = (char *) p; |
104 | return p + XDR_QUADLEN(len); | 107 | return p + XDR_QUADLEN(len); |
105 | } | 108 | } |
109 | EXPORT_SYMBOL(xdr_decode_string_inplace); | ||
106 | 110 | ||
107 | void | 111 | void |
108 | xdr_encode_pages(struct xdr_buf *xdr, struct page **pages, unsigned int base, | 112 | xdr_encode_pages(struct xdr_buf *xdr, struct page **pages, unsigned int base, |
@@ -130,6 +134,7 @@ xdr_encode_pages(struct xdr_buf *xdr, struct page **pages, unsigned int base, | |||
130 | xdr->buflen += len; | 134 | xdr->buflen += len; |
131 | xdr->len += len; | 135 | xdr->len += len; |
132 | } | 136 | } |
137 | EXPORT_SYMBOL(xdr_encode_pages); | ||
133 | 138 | ||
134 | void | 139 | void |
135 | xdr_inline_pages(struct xdr_buf *xdr, unsigned int offset, | 140 | xdr_inline_pages(struct xdr_buf *xdr, unsigned int offset, |
@@ -151,7 +156,7 @@ xdr_inline_pages(struct xdr_buf *xdr, unsigned int offset, | |||
151 | 156 | ||
152 | xdr->buflen += len; | 157 | xdr->buflen += len; |
153 | } | 158 | } |
154 | 159 | EXPORT_SYMBOL(xdr_inline_pages); | |
155 | 160 | ||
156 | /* | 161 | /* |
157 | * Helper routines for doing 'memmove' like operations on a struct xdr_buf | 162 | * Helper routines for doing 'memmove' like operations on a struct xdr_buf |
@@ -418,6 +423,7 @@ xdr_shift_buf(struct xdr_buf *buf, size_t len) | |||
418 | { | 423 | { |
419 | xdr_shrink_bufhead(buf, len); | 424 | xdr_shrink_bufhead(buf, len); |
420 | } | 425 | } |
426 | EXPORT_SYMBOL(xdr_shift_buf); | ||
421 | 427 | ||
422 | /** | 428 | /** |
423 | * xdr_init_encode - Initialize a struct xdr_stream for sending data. | 429 | * xdr_init_encode - Initialize a struct xdr_stream for sending data. |
@@ -639,6 +645,7 @@ xdr_buf_from_iov(struct kvec *iov, struct xdr_buf *buf) | |||
639 | buf->page_len = 0; | 645 | buf->page_len = 0; |
640 | buf->buflen = buf->len = iov->iov_len; | 646 | buf->buflen = buf->len = iov->iov_len; |
641 | } | 647 | } |
648 | EXPORT_SYMBOL(xdr_buf_from_iov); | ||
642 | 649 | ||
643 | /* Sets subbuf to the portion of buf of length len beginning base bytes | 650 | /* Sets subbuf to the portion of buf of length len beginning base bytes |
644 | * from the start of buf. Returns -1 if base of length are out of bounds. */ | 651 | * from the start of buf. Returns -1 if base of length are out of bounds. */ |
@@ -687,6 +694,7 @@ xdr_buf_subsegment(struct xdr_buf *buf, struct xdr_buf *subbuf, | |||
687 | return -1; | 694 | return -1; |
688 | return 0; | 695 | return 0; |
689 | } | 696 | } |
697 | EXPORT_SYMBOL(xdr_buf_subsegment); | ||
690 | 698 | ||
691 | static void __read_bytes_from_xdr_buf(struct xdr_buf *subbuf, void *obj, unsigned int len) | 699 | static void __read_bytes_from_xdr_buf(struct xdr_buf *subbuf, void *obj, unsigned int len) |
692 | { | 700 | { |
@@ -717,6 +725,7 @@ int read_bytes_from_xdr_buf(struct xdr_buf *buf, unsigned int base, void *obj, u | |||
717 | __read_bytes_from_xdr_buf(&subbuf, obj, len); | 725 | __read_bytes_from_xdr_buf(&subbuf, obj, len); |
718 | return 0; | 726 | return 0; |
719 | } | 727 | } |
728 | EXPORT_SYMBOL(read_bytes_from_xdr_buf); | ||
720 | 729 | ||
721 | static void __write_bytes_to_xdr_buf(struct xdr_buf *subbuf, void *obj, unsigned int len) | 730 | static void __write_bytes_to_xdr_buf(struct xdr_buf *subbuf, void *obj, unsigned int len) |
722 | { | 731 | { |
@@ -760,6 +769,7 @@ xdr_decode_word(struct xdr_buf *buf, unsigned int base, u32 *obj) | |||
760 | *obj = ntohl(raw); | 769 | *obj = ntohl(raw); |
761 | return 0; | 770 | return 0; |
762 | } | 771 | } |
772 | EXPORT_SYMBOL(xdr_decode_word); | ||
763 | 773 | ||
764 | int | 774 | int |
765 | xdr_encode_word(struct xdr_buf *buf, unsigned int base, u32 obj) | 775 | xdr_encode_word(struct xdr_buf *buf, unsigned int base, u32 obj) |
@@ -768,6 +778,7 @@ xdr_encode_word(struct xdr_buf *buf, unsigned int base, u32 obj) | |||
768 | 778 | ||
769 | return write_bytes_to_xdr_buf(buf, base, &raw, sizeof(obj)); | 779 | return write_bytes_to_xdr_buf(buf, base, &raw, sizeof(obj)); |
770 | } | 780 | } |
781 | EXPORT_SYMBOL(xdr_encode_word); | ||
771 | 782 | ||
772 | /* If the netobj starting offset bytes from the start of xdr_buf is contained | 783 | /* If the netobj starting offset bytes from the start of xdr_buf is contained |
773 | * entirely in the head or the tail, set object to point to it; otherwise | 784 | * entirely in the head or the tail, set object to point to it; otherwise |
@@ -805,6 +816,7 @@ int xdr_buf_read_netobj(struct xdr_buf *buf, struct xdr_netobj *obj, unsigned in | |||
805 | __read_bytes_from_xdr_buf(&subbuf, obj->data, obj->len); | 816 | __read_bytes_from_xdr_buf(&subbuf, obj->data, obj->len); |
806 | return 0; | 817 | return 0; |
807 | } | 818 | } |
819 | EXPORT_SYMBOL(xdr_buf_read_netobj); | ||
808 | 820 | ||
809 | /* Returns 0 on success, or else a negative error code. */ | 821 | /* Returns 0 on success, or else a negative error code. */ |
810 | static int | 822 | static int |
@@ -1010,6 +1022,7 @@ xdr_decode_array2(struct xdr_buf *buf, unsigned int base, | |||
1010 | 1022 | ||
1011 | return xdr_xcode_array2(buf, base, desc, 0); | 1023 | return xdr_xcode_array2(buf, base, desc, 0); |
1012 | } | 1024 | } |
1025 | EXPORT_SYMBOL(xdr_decode_array2); | ||
1013 | 1026 | ||
1014 | int | 1027 | int |
1015 | xdr_encode_array2(struct xdr_buf *buf, unsigned int base, | 1028 | xdr_encode_array2(struct xdr_buf *buf, unsigned int base, |
@@ -1021,6 +1034,7 @@ xdr_encode_array2(struct xdr_buf *buf, unsigned int base, | |||
1021 | 1034 | ||
1022 | return xdr_xcode_array2(buf, base, desc, 1); | 1035 | return xdr_xcode_array2(buf, base, desc, 1); |
1023 | } | 1036 | } |
1037 | EXPORT_SYMBOL(xdr_encode_array2); | ||
1024 | 1038 | ||
1025 | int | 1039 | int |
1026 | xdr_process_buf(struct xdr_buf *buf, unsigned int offset, unsigned int len, | 1040 | xdr_process_buf(struct xdr_buf *buf, unsigned int offset, unsigned int len, |
diff --git a/net/sunrpc/xprt.c b/net/sunrpc/xprt.c index 592c2ee63e0f..1fd47f918bb9 100644 --- a/net/sunrpc/xprt.c +++ b/net/sunrpc/xprt.c | |||
@@ -992,6 +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 | } |
995 | EXPORT_SYMBOL(xprt_set_timeout); | ||
995 | 996 | ||
996 | /** | 997 | /** |
997 | * xprt_create_transport - create an RPC transport | 998 | * xprt_create_transport - create an RPC transport |