Commit a6eaf8bd authored by Trond Myklebust's avatar Trond Myklebust

SUNRPC: Move exported declarations to the function declarations

Do this for all RPC client related functions and XDR functions.
Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
parent 93a44a75
...@@ -51,6 +51,7 @@ rpcauth_register(const struct rpc_authops *ops) ...@@ -51,6 +51,7 @@ rpcauth_register(const struct rpc_authops *ops)
spin_unlock(&rpc_authflavor_lock); spin_unlock(&rpc_authflavor_lock);
return ret; return ret;
} }
EXPORT_SYMBOL(rpcauth_register);
int int
rpcauth_unregister(const struct rpc_authops *ops) rpcauth_unregister(const struct rpc_authops *ops)
...@@ -68,6 +69,7 @@ rpcauth_unregister(const struct rpc_authops *ops) ...@@ -68,6 +69,7 @@ rpcauth_unregister(const struct rpc_authops *ops)
spin_unlock(&rpc_authflavor_lock); spin_unlock(&rpc_authflavor_lock);
return ret; return ret;
} }
EXPORT_SYMBOL(rpcauth_unregister);
struct rpc_auth * struct rpc_auth *
rpcauth_create(rpc_authflavor_t pseudoflavor, struct rpc_clnt *clnt) 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,6 +104,7 @@ rpcauth_create(rpc_authflavor_t pseudoflavor, struct rpc_clnt *clnt)
out: out:
return auth; return auth;
} }
EXPORT_SYMBOL(rpcauth_create);
void void
rpcauth_release(struct rpc_auth *auth) rpcauth_release(struct rpc_auth *auth)
...@@ -151,6 +154,7 @@ rpcauth_init_credcache(struct rpc_auth *auth) ...@@ -151,6 +154,7 @@ rpcauth_init_credcache(struct rpc_auth *auth)
auth->au_credcache = new; auth->au_credcache = new;
return 0; return 0;
} }
EXPORT_SYMBOL(rpcauth_init_credcache);
/* /*
* Destroy a list of credentials * Destroy a list of credentials
...@@ -213,6 +217,7 @@ rpcauth_destroy_credcache(struct rpc_auth *auth) ...@@ -213,6 +217,7 @@ rpcauth_destroy_credcache(struct rpc_auth *auth)
kfree(cache); kfree(cache);
} }
} }
EXPORT_SYMBOL(rpcauth_destroy_credcache);
/* /*
* Remove stale credentials. Avoid sleeping inside the loop. * Remove stale credentials. Avoid sleeping inside the loop.
...@@ -332,6 +337,7 @@ found: ...@@ -332,6 +337,7 @@ found:
out: out:
return cred; return cred;
} }
EXPORT_SYMBOL(rpcauth_lookup_credcache);
struct rpc_cred * struct rpc_cred *
rpcauth_lookupcred(struct rpc_auth *auth, int flags) rpcauth_lookupcred(struct rpc_auth *auth, int flags)
...@@ -350,6 +356,7 @@ rpcauth_lookupcred(struct rpc_auth *auth, int flags) ...@@ -350,6 +356,7 @@ rpcauth_lookupcred(struct rpc_auth *auth, int flags)
put_group_info(acred.group_info); put_group_info(acred.group_info);
return ret; return ret;
} }
EXPORT_SYMBOL(rpcauth_lookupcred);
void void
rpcauth_init_cred(struct rpc_cred *cred, const struct auth_cred *acred, rpcauth_init_cred(struct rpc_cred *cred, const struct auth_cred *acred,
...@@ -435,6 +442,7 @@ need_lock: ...@@ -435,6 +442,7 @@ need_lock:
out_destroy: out_destroy:
cred->cr_ops->crdestroy(cred); cred->cr_ops->crdestroy(cred);
} }
EXPORT_SYMBOL(put_rpccred);
void void
rpcauth_unbindcred(struct rpc_task *task) rpcauth_unbindcred(struct rpc_task *task)
......
...@@ -345,6 +345,7 @@ out_no_clnt: ...@@ -345,6 +345,7 @@ out_no_clnt:
dprintk("RPC: %s: returned error %d\n", __FUNCTION__, err); dprintk("RPC: %s: returned error %d\n", __FUNCTION__, err);
return ERR_PTR(err); return ERR_PTR(err);
} }
EXPORT_SYMBOL(rpc_clone_client);
/* /*
* Properly shut down an RPC client, terminating all outstanding * Properly shut down an RPC client, terminating all outstanding
...@@ -363,6 +364,7 @@ void rpc_shutdown_client(struct rpc_clnt *clnt) ...@@ -363,6 +364,7 @@ void rpc_shutdown_client(struct rpc_clnt *clnt)
rpc_release_client(clnt); rpc_release_client(clnt);
} }
EXPORT_SYMBOL(rpc_shutdown_client);
/* /*
* Free an RPC client * Free an RPC client
...@@ -467,6 +469,7 @@ struct rpc_clnt *rpc_bind_new_program(struct rpc_clnt *old, ...@@ -467,6 +469,7 @@ struct rpc_clnt *rpc_bind_new_program(struct rpc_clnt *old,
out: out:
return clnt; return clnt;
} }
EXPORT_SYMBOL(rpc_bind_new_program);
/* /*
* Default callback for async RPC calls * Default callback for async RPC calls
...@@ -512,11 +515,13 @@ void rpc_clnt_sigmask(struct rpc_clnt *clnt, sigset_t *oldset) ...@@ -512,11 +515,13 @@ void rpc_clnt_sigmask(struct rpc_clnt *clnt, sigset_t *oldset)
{ {
rpc_save_sigmask(oldset, clnt->cl_intr); rpc_save_sigmask(oldset, clnt->cl_intr);
} }
EXPORT_SYMBOL(rpc_clnt_sigmask);
void rpc_clnt_sigunmask(struct rpc_clnt *clnt, sigset_t *oldset) void rpc_clnt_sigunmask(struct rpc_clnt *clnt, sigset_t *oldset)
{ {
rpc_restore_sigmask(oldset); rpc_restore_sigmask(oldset);
} }
EXPORT_SYMBOL(rpc_clnt_sigunmask);
static static
struct rpc_task *rpc_do_run_task(struct rpc_clnt *clnt, 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,6 +577,7 @@ int rpc_call_sync(struct rpc_clnt *clnt, struct rpc_message *msg, int flags)
rpc_put_task(task); rpc_put_task(task);
return status; return status;
} }
EXPORT_SYMBOL(rpc_call_sync);
/** /**
* rpc_call_async - Perform an asynchronous RPC call * 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,6 +599,7 @@ rpc_call_async(struct rpc_clnt *clnt, struct rpc_message *msg, int flags,
rpc_put_task(task); rpc_put_task(task);
return 0; return 0;
} }
EXPORT_SYMBOL(rpc_call_async);
/** /**
* rpc_run_task - Allocate a new RPC task, then run rpc_execute against it * 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,6 +632,7 @@ rpc_call_setup(struct rpc_task *task, struct rpc_message *msg, int flags)
else else
task->tk_action = rpc_exit_task; task->tk_action = rpc_exit_task;
} }
EXPORT_SYMBOL(rpc_call_setup);
/** /**
* rpc_peeraddr - extract remote peer address from clnt's xprt * 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,6 +679,7 @@ rpc_setbufsize(struct rpc_clnt *clnt, unsigned int sndsize, unsigned int rcvsize
if (xprt->ops->set_buffer_size) if (xprt->ops->set_buffer_size)
xprt->ops->set_buffer_size(xprt, sndsize, rcvsize); xprt->ops->set_buffer_size(xprt, sndsize, rcvsize);
} }
EXPORT_SYMBOL(rpc_setbufsize);
/* /*
* Return size of largest payload RPC client can support, in bytes * Return size of largest payload RPC client can support, in bytes
...@@ -710,6 +719,7 @@ rpc_restart_call(struct rpc_task *task) ...@@ -710,6 +719,7 @@ rpc_restart_call(struct rpc_task *task)
task->tk_action = call_start; task->tk_action = call_start;
} }
EXPORT_SYMBOL(rpc_restart_call);
/* /*
* 0. Initial state * 0. Initial state
......
...@@ -113,6 +113,7 @@ out: ...@@ -113,6 +113,7 @@ out:
wake_up(&rpci->waitq); wake_up(&rpci->waitq);
return res; return res;
} }
EXPORT_SYMBOL(rpc_queue_upcall);
static inline void static inline void
rpc_inode_setowner(struct inode *inode, void *private) rpc_inode_setowner(struct inode *inode, void *private)
...@@ -805,6 +806,7 @@ err_dput: ...@@ -805,6 +806,7 @@ err_dput:
-ENOMEM); -ENOMEM);
goto out; goto out;
} }
EXPORT_SYMBOL(rpc_mkpipe);
/** /**
* rpc_unlink - remove a pipe * rpc_unlink - remove a pipe
...@@ -835,6 +837,7 @@ rpc_unlink(struct dentry *dentry) ...@@ -835,6 +837,7 @@ rpc_unlink(struct dentry *dentry)
dput(parent); dput(parent);
return error; return error;
} }
EXPORT_SYMBOL(rpc_unlink);
/* /*
* populate the filesystem * populate the filesystem
......
...@@ -373,6 +373,7 @@ void rpc_sleep_on(struct rpc_wait_queue *q, struct rpc_task *task, ...@@ -373,6 +373,7 @@ void rpc_sleep_on(struct rpc_wait_queue *q, struct rpc_task *task,
__rpc_sleep_on(q, task, action, timer); __rpc_sleep_on(q, task, action, timer);
spin_unlock_bh(&q->lock); spin_unlock_bh(&q->lock);
} }
EXPORT_SYMBOL(rpc_sleep_on);
/** /**
* __rpc_do_wake_up_task - wake up a single rpc_task * __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,6 +445,7 @@ void rpc_wake_up_task(struct rpc_task *task)
} }
rcu_read_unlock_bh(); rcu_read_unlock_bh();
} }
EXPORT_SYMBOL(rpc_wake_up_task);
/* /*
* Wake up the next task on a priority queue. * 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,6 +521,7 @@ struct rpc_task * rpc_wake_up_next(struct rpc_wait_queue *queue)
return task; return task;
} }
EXPORT_SYMBOL(rpc_wake_up_next);
/** /**
* rpc_wake_up - wake up all rpc_tasks * rpc_wake_up - wake up all rpc_tasks
...@@ -544,6 +547,7 @@ void rpc_wake_up(struct rpc_wait_queue *queue) ...@@ -544,6 +547,7 @@ void rpc_wake_up(struct rpc_wait_queue *queue)
spin_unlock(&queue->lock); spin_unlock(&queue->lock);
rcu_read_unlock_bh(); rcu_read_unlock_bh();
} }
EXPORT_SYMBOL(rpc_wake_up);
/** /**
* rpc_wake_up_status - wake up all rpc_tasks and set their status value. * 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,6 +576,7 @@ void rpc_wake_up_status(struct rpc_wait_queue *queue, int status)
spin_unlock(&queue->lock); spin_unlock(&queue->lock);
rcu_read_unlock_bh(); rcu_read_unlock_bh();
} }
EXPORT_SYMBOL(rpc_wake_up_status);
static void __rpc_atrun(struct rpc_task *task) static void __rpc_atrun(struct rpc_task *task)
{ {
...@@ -586,6 +591,7 @@ void rpc_delay(struct rpc_task *task, unsigned long delay) ...@@ -586,6 +591,7 @@ void rpc_delay(struct rpc_task *task, unsigned long delay)
task->tk_timeout = delay; task->tk_timeout = delay;
rpc_sleep_on(&delay_queue, task, NULL, __rpc_atrun); rpc_sleep_on(&delay_queue, task, NULL, __rpc_atrun);
} }
EXPORT_SYMBOL(rpc_delay);
/* /*
* Helper to call task->tk_ops->rpc_call_prepare * Helper to call task->tk_ops->rpc_call_prepare
...@@ -731,6 +737,7 @@ void rpc_execute(struct rpc_task *task) ...@@ -731,6 +737,7 @@ void rpc_execute(struct rpc_task *task)
rpc_set_running(task); rpc_set_running(task);
__rpc_execute(task); __rpc_execute(task);
} }
EXPORT_SYMBOL(rpc_execute);
static void rpc_async_schedule(struct work_struct *work) static void rpc_async_schedule(struct work_struct *work)
{ {
...@@ -848,6 +855,7 @@ void rpc_init_task(struct rpc_task *task, struct rpc_clnt *clnt, int flags, cons ...@@ -848,6 +855,7 @@ void rpc_init_task(struct rpc_task *task, struct rpc_clnt *clnt, int flags, cons
dprintk("RPC: new task initialized, procpid %u\n", dprintk("RPC: new task initialized, procpid %u\n",
task_pid_nr(current)); task_pid_nr(current));
} }
EXPORT_SYMBOL(rpc_init_task);
static struct rpc_task * static struct rpc_task *
rpc_alloc_task(void) rpc_alloc_task(void)
...@@ -959,6 +967,7 @@ void rpc_killall_tasks(struct rpc_clnt *clnt) ...@@ -959,6 +967,7 @@ void rpc_killall_tasks(struct rpc_clnt *clnt)
} }
spin_unlock(&clnt->cl_lock); spin_unlock(&clnt->cl_lock);
} }
EXPORT_SYMBOL(rpc_killall_tasks);
int rpciod_up(void) int rpciod_up(void)
{ {
......
...@@ -241,12 +241,14 @@ rpc_proc_register(struct rpc_stat *statp) ...@@ -241,12 +241,14 @@ rpc_proc_register(struct rpc_stat *statp)
{ {
return do_register(statp->program->name, statp, &rpc_proc_fops); return do_register(statp->program->name, statp, &rpc_proc_fops);
} }
EXPORT_SYMBOL(rpc_proc_register);
void void
rpc_proc_unregister(const char *name) rpc_proc_unregister(const char *name)
{ {
remove_proc_entry(name, proc_net_rpc); remove_proc_entry(name, proc_net_rpc);
} }
EXPORT_SYMBOL(rpc_proc_unregister);
struct proc_dir_entry * struct proc_dir_entry *
svc_proc_register(struct svc_stat *statp, const struct file_operations *fops) svc_proc_register(struct svc_stat *statp, const struct file_operations *fops)
......
...@@ -22,45 +22,6 @@ ...@@ -22,45 +22,6 @@
#include <linux/sunrpc/rpc_pipe_fs.h> #include <linux/sunrpc/rpc_pipe_fs.h>
#include <linux/sunrpc/xprtsock.h> #include <linux/sunrpc/xprtsock.h>
/* RPC scheduler */
EXPORT_SYMBOL(rpc_execute);
EXPORT_SYMBOL(rpc_init_task);
EXPORT_SYMBOL(rpc_sleep_on);
EXPORT_SYMBOL(rpc_wake_up_next);
EXPORT_SYMBOL(rpc_wake_up_task);
EXPORT_SYMBOL(rpc_wake_up_status);
/* RPC client functions */
EXPORT_SYMBOL(rpc_clone_client);
EXPORT_SYMBOL(rpc_bind_new_program);
EXPORT_SYMBOL(rpc_shutdown_client);
EXPORT_SYMBOL(rpc_killall_tasks);
EXPORT_SYMBOL(rpc_call_sync);
EXPORT_SYMBOL(rpc_call_async);
EXPORT_SYMBOL(rpc_call_setup);
EXPORT_SYMBOL(rpc_clnt_sigmask);
EXPORT_SYMBOL(rpc_clnt_sigunmask);
EXPORT_SYMBOL(rpc_delay);
EXPORT_SYMBOL(rpc_restart_call);
EXPORT_SYMBOL(rpc_setbufsize);
EXPORT_SYMBOL(rpc_unlink);
EXPORT_SYMBOL(rpc_wake_up);
EXPORT_SYMBOL(rpc_queue_upcall);
EXPORT_SYMBOL(rpc_mkpipe);
/* Client transport */
EXPORT_SYMBOL(xprt_set_timeout);
/* Client credential cache */
EXPORT_SYMBOL(rpcauth_register);
EXPORT_SYMBOL(rpcauth_unregister);
EXPORT_SYMBOL(rpcauth_create);
EXPORT_SYMBOL(rpcauth_lookupcred);
EXPORT_SYMBOL(rpcauth_lookup_credcache);
EXPORT_SYMBOL(rpcauth_destroy_credcache);
EXPORT_SYMBOL(rpcauth_init_credcache);
EXPORT_SYMBOL(put_rpccred);
/* RPC server stuff */ /* RPC server stuff */
EXPORT_SYMBOL(svc_create); EXPORT_SYMBOL(svc_create);
EXPORT_SYMBOL(svc_create_thread); EXPORT_SYMBOL(svc_create_thread);
...@@ -81,8 +42,6 @@ EXPORT_SYMBOL(svc_set_client); ...@@ -81,8 +42,6 @@ EXPORT_SYMBOL(svc_set_client);
/* RPC statistics */ /* RPC statistics */
#ifdef CONFIG_PROC_FS #ifdef CONFIG_PROC_FS
EXPORT_SYMBOL(rpc_proc_register);
EXPORT_SYMBOL(rpc_proc_unregister);
EXPORT_SYMBOL(svc_proc_register); EXPORT_SYMBOL(svc_proc_register);
EXPORT_SYMBOL(svc_proc_unregister); EXPORT_SYMBOL(svc_proc_unregister);
EXPORT_SYMBOL(svc_seq_show); EXPORT_SYMBOL(svc_seq_show);
...@@ -105,31 +64,6 @@ EXPORT_SYMBOL(qword_get); ...@@ -105,31 +64,6 @@ EXPORT_SYMBOL(qword_get);
EXPORT_SYMBOL(svcauth_unix_purge); EXPORT_SYMBOL(svcauth_unix_purge);
EXPORT_SYMBOL(unix_domain_find); EXPORT_SYMBOL(unix_domain_find);
/* Generic XDR */
EXPORT_SYMBOL(xdr_encode_string);
EXPORT_SYMBOL(xdr_decode_string_inplace);
EXPORT_SYMBOL(xdr_decode_netobj);
EXPORT_SYMBOL(xdr_encode_netobj);
EXPORT_SYMBOL(xdr_encode_pages);
EXPORT_SYMBOL(xdr_inline_pages);
EXPORT_SYMBOL(xdr_shift_buf);
EXPORT_SYMBOL(xdr_encode_word);
EXPORT_SYMBOL(xdr_decode_word);
EXPORT_SYMBOL(xdr_encode_array2);
EXPORT_SYMBOL(xdr_decode_array2);
EXPORT_SYMBOL(xdr_buf_from_iov);
EXPORT_SYMBOL(xdr_buf_subsegment);
EXPORT_SYMBOL(xdr_buf_read_netobj);
EXPORT_SYMBOL(read_bytes_from_xdr_buf);
/* Debugging symbols */
#ifdef RPC_DEBUG
EXPORT_SYMBOL(rpc_debug);
EXPORT_SYMBOL(nfs_debug);
EXPORT_SYMBOL(nfsd_debug);
EXPORT_SYMBOL(nlm_debug);
#endif
extern struct cache_detail ip_map_cache, unix_gid_cache; extern struct cache_detail ip_map_cache, unix_gid_cache;
static int __init static int __init
......
...@@ -23,9 +23,16 @@ ...@@ -23,9 +23,16 @@
* Declare the debug flags here * Declare the debug flags here
*/ */
unsigned int rpc_debug; unsigned int rpc_debug;
EXPORT_SYMBOL(rpc_debug);
unsigned int nfs_debug; unsigned int nfs_debug;
EXPORT_SYMBOL(nfs_debug);
unsigned int nfsd_debug; unsigned int nfsd_debug;
EXPORT_SYMBOL(nfsd_debug);
unsigned int nlm_debug; unsigned int nlm_debug;
EXPORT_SYMBOL(nlm_debug);
#ifdef RPC_DEBUG #ifdef RPC_DEBUG
......
...@@ -28,6 +28,7 @@ xdr_encode_netobj(__be32 *p, const struct xdr_netobj *obj) ...@@ -28,6 +28,7 @@ xdr_encode_netobj(__be32 *p, const struct xdr_netobj *obj)
memcpy(p, obj->data, obj->len); memcpy(p, obj->data, obj->len);
return p + XDR_QUADLEN(obj->len); return p + XDR_QUADLEN(obj->len);
} }
EXPORT_SYMBOL(xdr_encode_netobj);
__be32 * __be32 *
xdr_decode_netobj(__be32 *p, struct xdr_netobj *obj) xdr_decode_netobj(__be32 *p, struct xdr_netobj *obj)
...@@ -40,6 +41,7 @@ xdr_decode_netobj(__be32 *p, struct xdr_netobj *obj) ...@@ -40,6 +41,7 @@ xdr_decode_netobj(__be32 *p, struct xdr_netobj *obj)
obj->data = (u8 *) p; obj->data = (u8 *) p;
return p + XDR_QUADLEN(len); return p + XDR_QUADLEN(len);
} }
EXPORT_SYMBOL(xdr_decode_netobj);
/** /**
* xdr_encode_opaque_fixed - Encode fixed length opaque data * xdr_encode_opaque_fixed - Encode fixed length opaque data
...@@ -91,6 +93,7 @@ xdr_encode_string(__be32 *p, const char *string) ...@@ -91,6 +93,7 @@ xdr_encode_string(__be32 *p, const char *string)
{ {
return xdr_encode_array(p, string, strlen(string)); return xdr_encode_array(p, string, strlen(string));
} }
EXPORT_SYMBOL(xdr_encode_string);
__be32 * __be32 *
xdr_decode_string_inplace(__be32 *p, char **sp, int *lenp, int maxlen) 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,6 +106,7 @@ xdr_decode_string_inplace(__be32 *p, char **sp, int *lenp, int maxlen)
*sp = (char *) p; *sp = (char *) p;
return p + XDR_QUADLEN(len); return p + XDR_QUADLEN(len);
} }
EXPORT_SYMBOL(xdr_decode_string_inplace);
void void
xdr_encode_pages(struct xdr_buf *xdr, struct page **pages, unsigned int base, 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,6 +134,7 @@ xdr_encode_pages(struct xdr_buf *xdr, struct page **pages, unsigned int base,
xdr->buflen += len; xdr->buflen += len;
xdr->len += len; xdr->len += len;
} }
EXPORT_SYMBOL(xdr_encode_pages);
void void
xdr_inline_pages(struct xdr_buf *xdr, unsigned int offset, 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,7 +156,7 @@ xdr_inline_pages(struct xdr_buf *xdr, unsigned int offset,
xdr->buflen += len; xdr->buflen += len;
} }
EXPORT_SYMBOL(xdr_inline_pages);
/* /*
* Helper routines for doing 'memmove' like operations on a struct xdr_buf * 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,6 +423,7 @@ xdr_shift_buf(struct xdr_buf *buf, size_t len)
{ {
xdr_shrink_bufhead(buf, len); xdr_shrink_bufhead(buf, len);
} }
EXPORT_SYMBOL(xdr_shift_buf);
/** /**
* xdr_init_encode - Initialize a struct xdr_stream for sending data. * 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,6 +645,7 @@ xdr_buf_from_iov(struct kvec *iov, struct xdr_buf *buf)
buf->page_len = 0; buf->page_len = 0;
buf->buflen = buf->len = iov->iov_len; buf->buflen = buf->len = iov->iov_len;
} }
EXPORT_SYMBOL(xdr_buf_from_iov);
/* Sets subbuf to the portion of buf of length len beginning base bytes /* Sets subbuf to the portion of buf of length len beginning base bytes
* from the start of buf. Returns -1 if base of length are out of bounds. */ * 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,6 +694,7 @@ xdr_buf_subsegment(struct xdr_buf *buf, struct xdr_buf *subbuf,
return -1; return -1;
return 0; return 0;
} }
EXPORT_SYMBOL(xdr_buf_subsegment);
static void __read_bytes_from_xdr_buf(struct xdr_buf *subbuf, void *obj, unsigned int len) static void __read_bytes_from_xdr_buf(struct xdr_buf *subbuf, void *obj, unsigned int len)
{ {
...@@ -717,6 +725,7 @@ int read_bytes_from_xdr_buf(struct xdr_buf *buf, unsigned int base, void *obj, u ...@@ -717,6 +725,7 @@ int read_bytes_from_xdr_buf(struct xdr_buf *buf, unsigned int base, void *obj, u
__read_bytes_from_xdr_buf(&subbuf, obj, len); __read_bytes_from_xdr_buf(&subbuf, obj, len);
return 0; return 0;
} }
EXPORT_SYMBOL(read_bytes_from_xdr_buf);
static void __write_bytes_to_xdr_buf(struct xdr_buf *subbuf, void *obj, unsigned int len) static void __write_bytes_to_xdr_buf(struct xdr_buf *subbuf, void *obj, unsigned int len)
{ {
...@@ -760,6 +769,7 @@ xdr_decode_word(struct xdr_buf *buf, unsigned int base, u32 *obj) ...@@ -760,6 +769,7 @@ xdr_decode_word(struct xdr_buf *buf, unsigned int base, u32 *obj)
*obj = ntohl(raw); *obj = ntohl(raw);
return 0; return 0;
} }
EXPORT_SYMBOL(xdr_decode_word);
int int
xdr_encode_word(struct xdr_buf *buf, unsigned int base, u32 obj) 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,6 +778,7 @@ xdr_encode_word(struct xdr_buf *buf, unsigned int base, u32 obj)
return write_bytes_to_xdr_buf(buf, base, &raw, sizeof(obj)); return write_bytes_to_xdr_buf(buf, base, &raw, sizeof(obj));
} }
EXPORT_SYMBOL(xdr_encode_word);
/* If the netobj starting offset bytes from the start of xdr_buf is contained /* If the netobj starting offset bytes from the start of xdr_buf is contained
* entirely in the head or the tail, set object to point to it; otherwise * 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,6 +816,7 @@ int xdr_buf_read_netobj(struct xdr_buf *buf, struct xdr_netobj *obj, unsigned in
__read_bytes_from_xdr_buf(&subbuf, obj->data, obj->len); __read_bytes_from_xdr_buf(&subbuf, obj->data, obj->len);
return 0; return 0;
} }
EXPORT_SYMBOL(xdr_buf_read_netobj);
/* Returns 0 on success, or else a negative error code. */ /* Returns 0 on success, or else a negative error code. */
static int static int
...@@ -1010,6 +1022,7 @@ xdr_decode_array2(struct xdr_buf *buf, unsigned int base, ...@@ -1010,6 +1022,7 @@ xdr_decode_array2(struct xdr_buf *buf, unsigned int base,
return xdr_xcode_array2(buf, base, desc, 0); return xdr_xcode_array2(buf, base, desc, 0);
} }
EXPORT_SYMBOL(xdr_decode_array2);
int int
xdr_encode_array2(struct xdr_buf *buf, unsigned int base, 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,6 +1034,7 @@ xdr_encode_array2(struct xdr_buf *buf, unsigned int base,
return xdr_xcode_array2(buf, base, desc, 1); return xdr_xcode_array2(buf, base, desc, 1);
} }
EXPORT_SYMBOL(xdr_encode_array2);
int int
xdr_process_buf(struct xdr_buf *buf, unsigned int offset, unsigned int len, xdr_process_buf(struct xdr_buf *buf, unsigned int offset, unsigned int len,
......
...@@ -992,6 +992,7 @@ void xprt_set_timeout(struct rpc_timeout *to, unsigned int retr, unsigned long i ...@@ -992,6 +992,7 @@ void xprt_set_timeout(struct rpc_timeout *to, unsigned int retr, unsigned long i
to->to_retries = retr; to->to_retries = retr;
to->to_exponential = 0; to->to_exponential = 0;
} }
EXPORT_SYMBOL(xprt_set_timeout);
/** /**
* xprt_create_transport - create an RPC transport * xprt_create_transport - create an RPC transport
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment