vserver 2.0 rc7
[linux-2.6.git] / include / linux / sunrpc / xprt.h
index 5222a8f..e618c16 100644 (file)
@@ -69,8 +69,7 @@ extern unsigned int xprt_tcp_slot_table_entries;
  * This describes a timeout strategy
  */
 struct rpc_timeout {
-       unsigned long           to_current,             /* current timeout */
-                               to_initval,             /* initial timeout */
+       unsigned long           to_initval,             /* initial timeout */
                                to_maxval,              /* max timeout */
                                to_increment;           /* if !exponential */
        unsigned int            to_retries;             /* max # of retries */
@@ -85,7 +84,6 @@ struct rpc_rqst {
         * This is the user-visible part
         */
        struct rpc_xprt *       rq_xprt;                /* RPC client */
-       struct rpc_timeout      rq_timeout;             /* timeout parms */
        struct xdr_buf          rq_snd_buf;             /* send buffer */
        struct xdr_buf          rq_rcv_buf;             /* recv buffer */
 
@@ -103,6 +101,9 @@ struct rpc_rqst {
        struct xdr_buf          rq_private_buf;         /* The receive buffer
                                                         * used in the softirq.
                                                         */
+       unsigned long           rq_majortimeo;  /* major timeout alarm */
+       unsigned long           rq_timeout;     /* Current timeout value */
+       unsigned int            rq_retries;     /* # of retries */
        /*
         * For authentication (e.g. auth_des)
         */
@@ -115,7 +116,6 @@ struct rpc_rqst {
        u32                     rq_bytes_sent;  /* Bytes we have sent */
 
        unsigned long           rq_xtime;       /* when transmitted */
-       int                     rq_ntimeo;
        int                     rq_ntrans;
 };
 #define rq_svec                        rq_snd_buf.head
@@ -140,6 +140,9 @@ struct rpc_xprt {
        unsigned int            rcvsize,        /* socket receive buffer size */
                                sndsize;        /* socket send buffer size */
 
+       size_t                  max_payload;    /* largest RPC payload size,
+                                                  in bytes */
+
        struct rpc_wait_queue   sending;        /* requests waiting to send */
        struct rpc_wait_queue   resend;         /* requests waiting to resend */
        struct rpc_wait_queue   pending;        /* requests in flight */
@@ -201,8 +204,6 @@ struct rpc_xprt {
 struct rpc_xprt *      xprt_create_proto(int proto, struct sockaddr_in *addr,
                                        struct rpc_timeout *toparms);
 int                    xprt_destroy(struct rpc_xprt *);
-void                   xprt_shutdown(struct rpc_xprt *);
-void                   xprt_default_timeout(struct rpc_timeout *, int);
 void                   xprt_set_timeout(struct rpc_timeout *, unsigned int,
                                        unsigned long);
 
@@ -210,10 +211,9 @@ void                       xprt_reserve(struct rpc_task *);
 int                    xprt_prepare_transmit(struct rpc_task *);
 void                   xprt_transmit(struct rpc_task *);
 void                   xprt_receive(struct rpc_task *);
-int                    xprt_adjust_timeout(struct rpc_timeout *);
+int                    xprt_adjust_timeout(struct rpc_rqst *req);
 void                   xprt_release(struct rpc_task *);
 void                   xprt_connect(struct rpc_task *);
-int                    xprt_clear_backlog(struct rpc_xprt *);
 void                   xprt_sock_setbufsize(struct rpc_xprt *);
 
 #define XPRT_LOCKED    0