1. 28 3月, 2020 7 次提交
  2. 26 3月, 2020 1 次提交
  3. 16 3月, 2020 3 次提交
  4. 15 1月, 2020 1 次提交
  5. 21 9月, 2019 2 次提交
  6. 26 4月, 2019 1 次提交
  7. 02 3月, 2019 1 次提交
  8. 24 2月, 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. 01 10月, 2018 1 次提交
  11. 17 8月, 2018 1 次提交
  12. 09 8月, 2018 1 次提交
  13. 19 6月, 2018 1 次提交
  14. 01 6月, 2018 5 次提交
  15. 15 1月, 2018 2 次提交
    • B
      pnfs/blocklayout: handle transient devices · b3dce6a2
      Benjamin Coddington 提交于
      PNFS block/SCSI layouts should gracefully handle cases where block devices
      are not available when a layout is retrieved, or the block devices are
      removed while the client holds a layout.
      
      While setting up a layout segment, keep a record of an unavailable or
      un-parsable block device in cache with a flag so that subsequent layouts do
      not spam the server with GETDEVINFO.  We can reuse the current
      NFS_DEVICEID_UNAVAILABLE handling with one variation: instead of reusing
      the device, we will discard it and send a fresh GETDEVINFO after the
      timeout, since the lookup and validation of the device occurs within the
      GETDEVINFO response handling.
      
      A lookup of a layout segment that references an unavailable device will
      return a segment with the NFS_LSEG_UNAVAILABLE flag set.  This will allow
      the pgio layer to mark the layout with the appropriate fail bit, which
      forces subsequent IO to the MDS, and prevents spamming the server with
      LAYOUTGET, LAYOUTRETURN.
      
      Finally, when IO to a block device fails, look up the block device(s)
      referenced by the pgio header, and mark them as unavailable.
      Signed-off-by: NBenjamin Coddington <bcodding@redhat.com>
      Signed-off-by: NTrond Myklebust <trond.myklebust@primarydata.com>
      b3dce6a2
    • B
      pnfs/blocklayout: set PNFS_LAYOUTRETURN_ON_ERROR · d78471d3
      Benjamin Coddington 提交于
      If there's an error doing I/O to block device, and the client resends the
      I/O to the MDS, the MDS must recall the layout from the client before
      processing the I/O.  Let's preempt that exchange by returning the layout
      before falling back to the MDS when there's an error.
      Signed-off-by: NBenjamin Coddington <bcodding@redhat.com>
      Signed-off-by: NTrond Myklebust <trond.myklebust@primarydata.com>
      d78471d3
  16. 18 11月, 2017 4 次提交
  17. 15 8月, 2017 1 次提交
  18. 24 5月, 2017 1 次提交
    • B
      pnfs: Fix the check for requests in range of layout segment · 08cb5b0f
      Benjamin Coddington 提交于
      It's possible and acceptable for NFS to attempt to add requests beyond the
      range of the current pgio->pg_lseg, a case which should be caught and
      limited by the pg_test operation.  However, the current handling of this
      case replaces pgio->pg_lseg with a new layout segment (after a WARN) within
      that pg_test operation.  That will cause all the previously added requests
      to be submitted with this new layout segment, which may not be valid for
      those requests.
      
      Fix this problem by only returning zero for the number of bytes to coalesce
      from pg_test for this case which allows any previously added requests to
      complete on the current layout segment.  The check for requests starting
      out of range of the layout segment moves to pg_init, so that the
      replacement of pgio->pg_lseg will be done when the next request is added.
      Signed-off-by: NBenjamin Coddington <bcodding@redhat.com>
      Signed-off-by: NTrond Myklebust <trond.myklebust@primarydata.com>
      08cb5b0f
  19. 25 4月, 2017 1 次提交
  20. 21 4月, 2017 1 次提交
  21. 18 3月, 2017 1 次提交
  22. 04 12月, 2016 2 次提交