1. 21 Jan, 2016 1 commit
  2. 08 Jan, 2016 2 commits
  3. 07 Jan, 2016 2 commits
    • Trond Myklebust's avatar
      Merge branch 'bugfixes' · daaadd22
      Trond Myklebust authored
      * bugfixes:
        SUNRPC: Fixup socket wait for memory
        SUNRPC: Fix a missing break in rpc_anyaddr()
        pNFS/flexfiles: Fix an Oopsable typo in ff_mirror_match_fh()
        NFS: Fix attribute cache revalidation
        NFS: Ensure we revalidate attributes before using execute_ok()
        NFS: Flush reclaim writes using FLUSH_COND_STABLE
        NFS: Background flush should not be low priority
        NFSv4.1/pnfs: Fixup an lo->plh_block_lgets imbalance in layoutreturn
        NFSv4: Don't perform cached access checks before we've OPENed the file
        NFS: Allow the combination pNFS and labeled NFS
        NFS42: handle layoutstats stateid error
        nfs: Fix race in __update_open_stateid()
        nfs: fix missing assignment in nfs4_sequence_done tracepoint
      daaadd22
    • Benjamin Coddington's avatar
      NFS: Use wait_on_atomic_t() for unlock after readahead · 210c7c17
      Benjamin Coddington authored
      The use of wait_on_atomic_t() for waiting on I/O to complete before
      unlocking allows us to git rid of the NFS_IO_INPROGRESS flag, and thus the
      nfs_iocounter's flags member, and finally the nfs_iocounter altogether.
      The count of I/O is moved to the lock context, and the counter
      increment/decrement functions become simple enough to open-code.
      Signed-off-by: default avatarBenjamin Coddington <bcodding@redhat.com>
      [Trond: Fix up conflict with existing function nfs_wait_atomic_killable()]
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@primarydata.com>
      210c7c17
  4. 06 Jan, 2016 1 commit
    • Trond Myklebust's avatar
      SUNRPC: Fixup socket wait for memory · 13331a55
      Trond Myklebust authored
      We're seeing hangs in the NFS client code, with loops of the form:
      
       RPC: 30317 xmit incomplete (267368 left of 524448)
       RPC: 30317 call_status (status -11)
       RPC: 30317 call_transmit (status 0)
       RPC: 30317 xprt_prepare_transmit
       RPC: 30317 xprt_transmit(524448)
       RPC:       xs_tcp_send_request(267368) = -11
       RPC: 30317 xmit incomplete (267368 left of 524448)
       RPC: 30317 call_status (status -11)
       RPC: 30317 call_transmit (status 0)
       RPC: 30317 xprt_prepare_transmit
       RPC: 30317 xprt_transmit(524448)
      
      Turns out commit ceb5d58b ("net: fix sock_wake_async() rcu protection")
      moved SOCKWQ_ASYNC_NOSPACE out of sock->flags and into sk->sk_wq->flags,
      however it never tried to fix up the code in net/sunrpc.
      
      The new idiom is to use the flags in the RCU protected struct socket_wq.
      While we're at it, clear out the now redundant places where we set/clear
      SOCKWQ_ASYNC_NOSPACE and SOCK_NOSPACE. In principle, sk_stream_wait_memory()
      is supposed to set these for us, so we only need to clear them in the
      particular case of our ->write_space() callback.
      
      Fixes: ceb5d58b ("net: fix sock_wake_async() rcu protection")
      Cc: Eric Dumazet <edumazet@google.com>
      Cc: stable@vger.kernel.org # 4.4
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@primarydata.com>
      13331a55
  5. 04 Jan, 2016 9 commits
  6. 31 Dec, 2015 4 commits
  7. 30 Dec, 2015 3 commits
  8. 29 Dec, 2015 1 commit
  9. 28 Dec, 2015 17 commits