nfsd_max_blksize /= 2;
        }
  
-       atomic_set(&nfsd_busy, 0);
        nfsd_serv = svc_create_pooled(&nfsd_program, nfsd_max_blksize,
 -                                    AF_INET,
                                      nfsd_last_thread, nfsd, THIS_MODULE);
        if (nfsd_serv == NULL)
                err = -ENOMEM;
 
                                        struct svc_pool *pool);
  void             svc_exit_thread(struct svc_rqst *);
  struct svc_serv *  svc_create_pooled(struct svc_program *, unsigned int,
 -                      sa_family_t, void (*shutdown)(struct svc_serv *),
 +                      void (*shutdown)(struct svc_serv *),
                        svc_thread_fn, struct module *);
  int              svc_set_num_threads(struct svc_serv *, struct svc_pool *, int);
+ int              svc_pool_stats_open(struct svc_serv *serv, struct file *file);
  void             svc_destroy(struct svc_serv *);
  int              svc_process(struct svc_rqst *);
 -int              svc_register(const struct svc_serv *, const unsigned short,
 -                              const unsigned short);
 +int              svc_register(const struct svc_serv *, const int,
 +                              const unsigned short, const unsigned short);
  
  void             svc_wake_up(struct svc_serv *);
  void             svc_reserve(struct svc_rqst *rqstp, int space);
 
        /* Initialize the socket */
        if (sock->type == SOCK_DGRAM)
                svc_udp_init(svsk, serv);
-       else
+       else {
+               /* initialise setting must have enough space to
+                * receive and respond to one request.
+                */
+               svc_sock_setbufsize(svsk->sk_sock, 4 * serv->sv_max_mesg,
+                                       4 * serv->sv_max_mesg);
                svc_tcp_init(svsk, serv);
+       }
  
 -      /*
 -       * We start one listener per sv_serv.  We want AF_INET
 -       * requests to be automatically shunted to our AF_INET6
 -       * listener using a mapped IPv4 address.  Make sure
 -       * no-one starts an equivalent IPv4 listener, which
 -       * would steal our incoming connections.
 -       */
 -      val = 0;
 -      if (serv->sv_family == AF_INET6)
 -              kernel_setsockopt(sock, SOL_IPV6, IPV6_V6ONLY,
 -                                      (char *)&val, sizeof(val));
 -
        dprintk("svc: svc_setup_socket created %p (inet %p)\n",
                                svsk, svsk->sk_sk);