patch-2.4.20 linux-2.4.20/include/linux/sunrpc/svc.h
Next file: linux-2.4.20/include/linux/sunrpc/svcsock.h
Previous file: linux-2.4.20/include/linux/sunrpc/sched.h
Back to the patch index
Back to the overall index
- Lines: 65
- Date:
Thu Nov 28 15:53:15 2002
- Orig file:
linux-2.4.19/include/linux/sunrpc/svc.h
- Orig date:
Thu Nov 22 11:47:20 2001
diff -urN linux-2.4.19/include/linux/sunrpc/svc.h linux-2.4.20/include/linux/sunrpc/svc.h
@@ -26,8 +26,8 @@
* We currently do not support more than one RPC program per daemon.
*/
struct svc_serv {
- struct svc_rqst * sv_threads; /* idle server threads */
- struct svc_sock * sv_sockets; /* pending sockets */
+ struct list_head sv_threads; /* idle server threads */
+ struct list_head sv_sockets; /* pending sockets */
struct svc_program * sv_program; /* RPC program */
struct svc_stat * sv_stats; /* RPC statistics */
spinlock_t sv_lock;
@@ -35,7 +35,9 @@
unsigned int sv_bufsz; /* datagram buffer size */
unsigned int sv_xdrsize; /* XDR buffer size */
- struct svc_sock * sv_allsocks; /* all sockets */
+ struct list_head sv_permsocks; /* all permanent sockets */
+ struct list_head sv_tempsocks; /* all temporary sockets */
+ int sv_tmpcnt; /* count of temporary sockets */
char * sv_name; /* service name */
};
@@ -88,8 +90,7 @@
* NOTE: First two items must be prev/next.
*/
struct svc_rqst {
- struct svc_rqst * rq_prev; /* idle list */
- struct svc_rqst * rq_next;
+ struct list_head rq_list; /* idle list */
struct svc_sock * rq_sock; /* socket */
struct sockaddr_in rq_addr; /* peer address */
int rq_addrlen;
@@ -114,9 +115,17 @@
void * rq_argp; /* decoded arguments */
void * rq_resp; /* xdr'd results */
+ int rq_reserved; /* space on socket outq
+ * reserved for this request
+ */
+
/* Catering to nfsd */
struct svc_client * rq_client; /* RPC peer info */
struct svc_cacherep * rq_cacherep; /* cache info */
+ struct knfsd_fh * rq_reffh; /* Referrence filehandle, used to
+ * determine what device number
+ * to report (real or virtual)
+ */
wait_queue_head_t rq_wait; /* synchronozation */
};
@@ -162,6 +171,7 @@
unsigned int pc_ressize; /* result struct size */
unsigned int pc_count; /* call count */
unsigned int pc_cachetype; /* cache info (NFS) */
+ unsigned int pc_xdrressize; /* maximum size of XDR reply */
};
/*
@@ -179,5 +189,6 @@
int svc_process(struct svc_serv *, struct svc_rqst *);
int svc_register(struct svc_serv *, int, unsigned short);
void svc_wake_up(struct svc_serv *);
+void svc_reserve(struct svc_rqst *rqstp, int space);
#endif /* SUNRPC_SVC_H */
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)