1. 22 8月, 2012 4 次提交
  2. 21 8月, 2012 1 次提交
    • J
      svcrpc: fix BUG() in svc_tcp_clear_pages · be1e4444
      J. Bruce Fields 提交于
      Examination of svc_tcp_clear_pages shows that it assumes sk_tcplen is
      consistent with sk_pages[] (in particular, sk_pages[n] can't be NULL if
      sk_tcplen would lead us to expect n pages of data).
      
      svc_tcp_restore_pages zeroes out sk_pages[] while leaving sk_tcplen.
      This is OK, since both functions are serialized by XPT_BUSY.  However,
      that means the inconsistency must be repaired before dropping XPT_BUSY.
      
      Therefore we should be ensuring that svc_tcp_save_pages repairs the
      problem before exiting svc_tcp_recv_record on error.
      
      Symptoms were a BUG() in svc_tcp_clear_pages.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NJ. Bruce Fields <bfields@redhat.com>
      be1e4444
  3. 28 6月, 2012 1 次提交
  4. 16 5月, 2012 1 次提交
  5. 22 4月, 2012 1 次提交
  6. 12 3月, 2012 1 次提交
    • T
      SUNRPC: Fix a few sparse warnings · 09acfea5
      Trond Myklebust 提交于
      net/sunrpc/svcsock.c:412:22: warning: incorrect type in assignment
      (different address spaces)
       - svc_partial_recvfrom now takes a struct kvec, so the variable
         save_iovbase needs to be an ordinary (void *)
      
      Make a bunch of variables in net/sunrpc/xprtsock.c static
      
      Fix a couple of "warning: symbol 'foo' was not declared. Should it be
      static?" reports.
      
      Fix a couple of conflicting function declarations.
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      09acfea5
  7. 04 2月, 2012 1 次提交
  8. 01 2月, 2012 2 次提交
  9. 07 12月, 2011 1 次提交
  10. 23 11月, 2011 1 次提交
  11. 01 11月, 2011 1 次提交
  12. 14 9月, 2011 1 次提交
  13. 16 7月, 2011 1 次提交
  14. 15 7月, 2011 1 次提交
  15. 10 4月, 2011 1 次提交
    • J
      svcrpc: complete svsk processing on cb receive failure · 8985ef0b
      J. Bruce Fields 提交于
      Currently when there's some failure to receive a callback (because we
      couldn't find a matching xid, for example), we exit svc_recv with
      sk_tcplen still set but without any pages saved with the socket.  This
      will cause a crash later in svc_tcp_restore_pages.
      
      Instead, make sure we reset that tcp information whether the callback
      received failed or succeeded.
      Signed-off-by: NJ. Bruce Fields <bfields@redhat.com>
      8985ef0b
  16. 08 4月, 2011 7 次提交
  17. 23 2月, 2011 1 次提交
  18. 26 1月, 2011 1 次提交
  19. 12 1月, 2011 1 次提交
  20. 07 1月, 2011 4 次提交
  21. 18 12月, 2010 1 次提交
  22. 26 10月, 2010 1 次提交
  23. 19 10月, 2010 1 次提交
  24. 02 10月, 2010 2 次提交
  25. 18 5月, 2010 1 次提交
  26. 03 5月, 2010 1 次提交
    • N
      sunrpc: centralise most calls to svc_xprt_received · b48fa6b9
      Neil Brown 提交于
      svc_xprt_received must be called when ->xpo_recvfrom has finished
      receiving a message, so that the XPT_BUSY flag will be cleared and
      if necessary, requeued for further work.
      
      This call is currently made in each ->xpo_recvfrom function, often
      from multiple different points.  In each case it is the earliest point
      on a particular path where it is known that the protection provided by
      XPT_BUSY is no longer needed.
      
      However there are (still) some error paths which do not call
      svc_xprt_received, and requiring each ->xpo_recvfrom to make the call
      does not encourage robustness.
      
      So: move the svc_xprt_received call to be made just after the
      call to ->xpo_recvfrom(), and move it of the various ->xpo_recvfrom
      methods.
      
      This means that it may not be called at the earliest possible instant,
      but this is unlikely to be a measurable performance issue.
      
      Note that there are still other calls to svc_xprt_received as it is
      also needed when an xprt is newly created.
      Signed-off-by: NNeilBrown <neilb@suse.de>
      Signed-off-by: NJ. Bruce Fields <bfields@citi.umich.edu>
      b48fa6b9