1. 03 12月, 2020 1 次提交
  2. 13 5月, 2020 1 次提交
  3. 11 4月, 2020 1 次提交
  4. 28 3月, 2020 10 次提交
  5. 26 3月, 2020 2 次提交
  6. 15 1月, 2020 1 次提交
  7. 27 8月, 2019 1 次提交
  8. 21 5月, 2019 1 次提交
  9. 20 12月, 2018 1 次提交
    • N
      NFS/NFSD/SUNRPC: replace generic creds with 'struct cred'. · a52458b4
      NeilBrown 提交于
      SUNRPC has two sorts of credentials, both of which appear as
      "struct rpc_cred".
      There are "generic credentials" which are supplied by clients
      such as NFS and passed in 'struct rpc_message' to indicate
      which user should be used to authorize the request, and there
      are low-level credentials such as AUTH_NULL, AUTH_UNIX, AUTH_GSS
      which describe the credential to be sent over the wires.
      
      This patch replaces all the generic credentials by 'struct cred'
      pointers - the credential structure used throughout Linux.
      
      For machine credentials, there is a special 'struct cred *' pointer
      which is statically allocated and recognized where needed as
      having a special meaning.  A look-up of a low-level cred will
      map this to a machine credential.
      Signed-off-by: NNeilBrown <neilb@suse.com>
      Acked-by: NJ. Bruce Fields <bfields@redhat.com>
      Signed-off-by: NAnna Schumaker <Anna.Schumaker@Netapp.com>
      a52458b4
  10. 15 8月, 2018 1 次提交
  11. 20 3月, 2018 1 次提交
  12. 18 11月, 2017 1 次提交
  13. 10 9月, 2017 2 次提交
  14. 15 8月, 2017 3 次提交
  15. 20 7月, 2017 3 次提交
  16. 04 5月, 2017 1 次提交
  17. 03 5月, 2017 1 次提交
  18. 29 4月, 2017 1 次提交
  19. 21 4月, 2017 2 次提交
    • T
      pNFS: unexport nfs4_pnfs_v3_ds_connect_unload · 675e508f
      Trond Myklebust 提交于
      It is not used outside the NFSv4 module.
      Signed-off-by: NTrond Myklebust <trond.myklebust@primarydata.com>
      675e508f
    • N
      NFS: fix usage of mempools. · 518662e0
      NeilBrown 提交于
      When passed GFP flags that allow sleeping (such as
      GFP_NOIO), mempool_alloc() will never return NULL, it will
      wait until memory is available.
      
      This means that we don't need to handle failure, but that we
      do need to ensure one thread doesn't call mempool_alloc()
      twice on the one pool without queuing or freeing the first
      allocation.  If multiple threads did this during times of
      high memory pressure, the pool could be exhausted and a
      deadlock could result.
      
      pnfs_generic_alloc_ds_commits() attempts to allocate from
      the nfs_commit_mempool while already holding an allocation
      from that pool.  This is not safe.  So change
      nfs_commitdata_alloc() to take a flag that indicates whether
      failure is acceptable.
      
      In pnfs_generic_alloc_ds_commits(), accept failure and
      handle it as we currently do.  Else where, do not accept
      failure, and do not handle it.
      
      Even when failure is acceptable, we want to succeed if
      possible.  That means both
       - using an entry from the pool if there is one
       - waiting for direct reclaim is there isn't.
      
      We call mempool_alloc(GFP_NOWAIT) to achieve the first, then
      kmem_cache_alloc(GFP_NOIO|__GFP_NORETRY) to achieve the
      second.  Each of these can fail, but together they do the
      best they can without blocking indefinitely.
      
      The objects returned by kmem_cache_alloc() will still be freed
      by mempool_free().  This is safe as mempool_alloc() uses
      exactly the same function to allocate objects (since the mempool
      was created with mempool_create_slab_pool()).  The object returned
      by mempool_alloc() and kmem_cache_alloc() are indistinguishable
      so mempool_free() will handle both identically, either adding to the
      pool or calling kmem_cache_free().
      
      Also, don't test for failure when allocating from
      nfs_wdata_mempool.
      Signed-off-by: NNeilBrown <neilb@suse.com>
      Signed-off-by: NTrond Myklebust <trond.myklebust@primarydata.com>
      518662e0
  20. 18 3月, 2017 2 次提交
  21. 02 12月, 2016 1 次提交
  22. 20 9月, 2016 1 次提交
  23. 20 7月, 2016 1 次提交