1. 29 Nov, 2013 1 commit
    • Andy Adamson's avatar
      SUNRPC handle EKEYEXPIRED in call_refreshresult · 14384c73
      Andy Adamson authored
      commit eb96d5c9
      
       upstream.
      
      Currently, when an RPCSEC_GSS context has expired or is non-existent
      and the users (Kerberos) credentials have also expired or are non-existent,
      the client receives the -EKEYEXPIRED error and tries to refresh the context
      forever.  If an application is performing I/O, or other work against the share,
      the application hangs, and the user is not prompted to refresh/establish their
      credentials. This can result in a denial of service for other users.
      
      Users are expected to manage their Kerberos credential lifetimes to mitigate
      this issue.
      
      Move the -EKEYEXPIRED handling into the RPC layer. Try tk_cred_retry number
      of times to refresh the gss_context, and then return -EACCES to the application.
      Signed-off-by: default avatarAndy Adamson <andros@netapp.com>
      Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
      [bwh: Backported to 3.2:
       - Adjust context
       - Drop change to nfs4_handle_reclaim_lease_error()]
      Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      14384c73
  2. 24 Mar, 2012 1 commit
  3. 20 Mar, 2012 1 commit
  4. 17 Mar, 2012 2 commits
    • Trond Myklebust's avatar
      NFSv4.1: Fix a few issues in filelayout_commit_pagelist · 9390f425
      Trond Myklebust authored
      
      - Fix a race in which NFS_I(inode)->commits_outstanding could potentially
        go to zero (triggering a call to nfs_commit_clear_lock()) before we're
        done sending out all the commit RPC calls.
      
      - If nfs_commitdata_alloc fails, there is no reason why we shouldn't
        try to send off all the commits-to-ds.
      
      - Simplify the error handling.
      
      - Change pnfs_commit_list() to always return either
        PNFS_ATTEMPTED or PNFS_NOT_ATTEMPTED.
      Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
      Cc: Fred Isaman <iisaman@netapp.com>
      9390f425
    • Trond Myklebust's avatar
      NFSv4.1: Clean ups and bugfixes for the pNFS read/writeback/commit code · 8dd37758
      Trond Myklebust authored
      
      Move more pnfs-isms out of the generic commit code.
      
      Bugfixes:
      
      - filelayout_scan_commit_lists doesn't need to get/put the lseg.
        In fact since it is run under the inode->i_lock, the lseg_put()
        can deadlock.
      
      - Ensure that we distinguish between what needs to be done for
        commit-to-data server and what needs to be done for commit-to-MDS
        using the new flag PG_COMMIT_TO_DS. Otherwise we may end up calling
        put_lseg() on a bucket for a struct nfs_page that got written
        through the MDS.
      
      - Fix a case where we were using list_del() on an nfs_page->wb_list
        instead of list_del_init().
      
      - filelayout_initiate_commit needs to call filelayout_commit_release
        on error instead of the mds_ops->rpc_release(). Otherwise it won't
        clear the commit lock.
      
      Cleanups:
      
      - Let the files layout manage the commit lists for the pNFS case.
        Don't expose stuff like pnfs_choose_commit_list, and the fact
        that the commit buckets hold references to the layout segment
        in common code.
      
      - Cast out the put_lseg() calls for the struct nfs_read/write_data->lseg
        into the pNFS layer from whence they came.
      
      - Let the pNFS layer manage the NFS_INO_PNFS_COMMIT bit.
      Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
      Cc: Fred Isaman <iisaman@netapp.com>
      8dd37758
  5. 11 Mar, 2012 1 commit
    • Trond Myklebust's avatar
      NFS: Fix a number of sparse warnings · 17280175
      Trond Myklebust authored
      
      Fix a number of "warning: symbol 'foo' was not declared. Should it be
      static?" conditions.
      
      Fix 2 cases of "warning: Using plain integer as NULL pointer"
      
      fs/nfs/delegation.c:263:31: warning: restricted fmode_t degrades to integer
        - We want to allow upgrades to a WRITE delegation, but should otherwise
          consider servers that hand out duplicate delegations to be borken.
      Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
      17280175
  6. 10 Mar, 2012 1 commit
  7. 08 Mar, 2012 1 commit
  8. 07 Mar, 2012 1 commit
  9. 17 Feb, 2012 1 commit
  10. 06 Feb, 2012 2 commits
  11. 01 Feb, 2012 1 commit
  12. 05 Jan, 2012 1 commit
  13. 31 Oct, 2011 2 commits
  14. 19 Oct, 2011 1 commit
  15. 18 Oct, 2011 1 commit
  16. 31 Jul, 2011 1 commit
  17. 15 Jul, 2011 4 commits
  18. 12 Jul, 2011 6 commits
  19. 28 Jun, 2011 1 commit
  20. 20 Jun, 2011 1 commit
  21. 15 Jun, 2011 1 commit
  22. 29 May, 2011 8 commits