knfsd: export svc_sock_enqueue, svc_sock_received
Subsystems (3)
RFC PATCH 7/14 knfsd: export svc_sock_enqueue, svc_sock_received
Export svc_sock_enqueue() and svc_sock_received() so they can be used by sunrpc server transport implementations (even future modular ones).
---
include/linux/sunrpc/svcsock.h | 2 ++ net/sunrpc/sunrpc_syms.c | 2 ++ net/sunrpc/svcsock.c | 4 ++-- 3 files changed, 6 insertions(+), 2 deletions(-)
include/linux/sunrpc/svcsock.h +2 -0
@@ -114,6 +114,8 @@ int svc_addsock(struct svc_serv *serv,int fd, char *name_return, int *proto); +void svc_sock_enqueue (struct svc_sock *svsk); +void svc_sock_received (struct svc_sock *svsk);/* * svc_makesock socket characteristics
net/sunrpc/sunrpc_syms.c +2 -0
@@ -77,6 +77,8 @@ EXPORT_SYMBOL(svc_process);EXPORT_SYMBOL (svc_recv);EXPORT_SYMBOL (svc_wake_up);EXPORT_SYMBOL (svc_makesock); +EXPORT_SYMBOL_GPL (svc_sock_enqueue); +EXPORT_SYMBOL_GPL (svc_sock_received);EXPORT_SYMBOL (svc_reserve);EXPORT_SYMBOL (svc_auth_register);EXPORT_SYMBOL (auth_domain_lookup);
net/sunrpc/svcsock.c +2 -2
@@ -208,7 +208,7 @@ svc_release_skb(struct svc_rqst *rqstp)* processes, wake 'em up. * */ -static void +void svc_sock_enqueue (struct svc_sock *svsk) {struct svc_serv *serv = svsk->sk_server;
@@ -316,7 +316,7 @@ svc_sock_dequeue(struct svc_pool *pool)* Note: SK_DATA only gets cleared when a read-attempt finds * no (or insufficient) data. */ -static inline void +void svc_sock_received (struct svc_sock *svsk) { svsk->sk_pool =NULL ;
Signature · 12 lines
Greg Banks, R&D Software Engineer, SGI Australian Software Group. Apparently, I'm Bedevere. Which MPHG character are you? I don't speak for SGI. ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ NFS maillist - [email protected] https://lists.sourceforge.net/lists/listinfo/nfs
Quoted 4 lines · Greg Banks
Export
svc_sock_enqueue()andsvc_sock_received()so they can be used by sunrpc server transport implementations (even future modular ones).
Have you thought about how you'll handle the reference counting in the modular case?
--b.
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs
Quoted 8 lines · J. Bruce Fields
Quoted 4 lines · Greg Banks
Export
svc_sock_enqueue()andsvc_sock_received()so they can be used by sunrpc server transport implementations (even future modular ones).Have you thought about how you'll handle the reference counting in the modular case?
Yes, but only thought not experimented nor discussed. I was planning to add a new file to /proc/fs/nfsd roughly analagous to the ports and versions files, where the init script could write a string to indicate which transports are enabled or disabled. Transports would be managed in a global list of structures analagous to struct xprt_type in Chuck's client patches. Enabling from userspace would search this list, try a module load on failure, and bump the refcount. Disabling would shut down all svc_sock belonging to the transport type, then drop the module refcount. Neither traffic from clients nor creation of svc_socks would affect the module refcount.
Greg.
Signature · 12 lines
Greg Banks, R&D Software Engineer, SGI Australian Software Group. Apparently, I'm Bedevere. Which MPHG character are you? I don't speak for SGI. ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ NFS maillist - [email protected] https://lists.sourceforge.net/lists/listinfo/nfs
Quoted 6 lines · Greg Banks
I was planning
to add a new file to/proc/fs/nfsdroughly analagous to the ports and versions files, where the init script could write a string to indicate which transports are enabled or disabled. Transports would be managed in a global list of structures analagous to structxprt_typein Chuck's client patches.
I like this, it seems nearly the same as the /proc/fs/nfsd/thread node that's in there now. A new /proc/fs/nfsd/protocols node makes sense to me.
Another option might be to support switches to the nfsd command, like other os's do (nfsd -u). This makes a lot of sense if the current #ifdef's to enable nfsd's protocols is retained. If module loading is supported, I like the dynamic /proc aproach better.
Tom.
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs
net/sunrpc/sunrpc_syms.c EXPORT_SYMBOL(svc_process); · line 84
Quoted 13 lines · On Thursday May 17, [email protected] wrote:
Index:
linux/net/sunrpc/sunrpc_syms.c
===================================================================net/sunrpc/sunrpc_syms.c +2
-0@@ -77,6 +77,8 @@ EXPORT_SYMBOL(svc_process);EXPORT_SYMBOL (svc_recv);EXPORT_SYMBOL (svc_wake_up);EXPORT_SYMBOL (svc_makesock); +EXPORT_SYMBOL_GPL (svc_sock_enqueue); +EXPORT_SYMBOL_GPL (svc_sock_received);EXPORT_SYMBOL (svc_reserve);EXPORT_SYMBOL (svc_auth_register);EXPORT_SYMBOL (auth_domain_lookup);
Can we please put new EXPORT_SYMBOLS near the function rather than in this file? And if anyone wants to move them all out, I'm fine with that.
NeilBrown
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs
Quoted 17 lines · Neil Brown
net/sunrpc/sunrpc_syms.c EXPORT_SYMBOL(svc_process); · line 84
Quoted 13 lines · On Thursday May 17, [email protected] wrote:
Index:
linux/net/sunrpc/sunrpc_syms.c
===================================================================net/sunrpc/sunrpc_syms.c +2
-0@@ -77,6 +77,8 @@ EXPORT_SYMBOL(svc_process);EXPORT_SYMBOL (svc_recv);EXPORT_SYMBOL (svc_wake_up);EXPORT_SYMBOL (svc_makesock); +EXPORT_SYMBOL_GPL (svc_sock_enqueue); +EXPORT_SYMBOL_GPL (svc_sock_received);EXPORT_SYMBOL (svc_reserve);EXPORT_SYMBOL (svc_auth_register);EXPORT_SYMBOL (auth_domain_lookup);Can we please put new
EXPORT_SYMBOLSnear the function rather than in this file?
Fixed, in all 3 patches which did this.
Quoted 3 lines
And if anyone wants to move them all out, I'm fine with
that.
There won't be much left of sunrpc_syms.c ;-)
Greg.
Signature · 12 lines
Greg Banks, R&D Software Engineer, SGI Australian Software Group. Apparently, I'm Bedevere. Which MPHG character are you? I don't speak for SGI. ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ NFS maillist - [email protected] https://lists.sourceforge.net/lists/listinfo/nfs