1. 01 Sep, 2009 1 commit
  2. 28 Jul, 2009 1 commit
    • Andy Adamson's avatar
      nfsd41: Use separate DRC for setclientid · 49557cc7
      Andy Adamson authored
      
      Instead of trying to share the generic 4.1 reply cache code for the
      CREATE_SESSION reply cache, it's simpler to handle CREATE_SESSION
      separately.
      
      The nfs41 single slot clientid DRC holds the results of create session
      processing.  CREATE_SESSION can be preceeded by a SEQUENCE operation
      (an embedded CREATE_SESSION) and the create session single slot cache must be
      maintained.  nfsd4_replay_cache_entry() and nfsd4_store_cache_entry() do not
      implement the replay of an embedded CREATE_SESSION.
      
      The clientid DRC slot does not need the inuse, cachethis or other fields that
      the multiple slot session cache uses.  Replace the clientid DRC cache struct
      nfs4_slot cache with a new nfsd4_clid_slot cache.  Save the xdr struct
      nfsd4_create_session into the cache at the end of processing, and on a replay,
      replace the struct for the replay request with the cached version all while
      under the state lock.
      
      nfsd4_proc_compound will handle both the solo and embedded CREATE_SESSION case
      via the normal use of encode_operation.
      
      Errors that do not change the create session cache:
      A create session NFS4ERR_STALE_CLIENTID error means that a client record
      (and associated create session slot) could not be found and therefore can't
      be changed.  NFSERR_SEQ_MISORDERED errors do not change the slot cache.
      
      All other errors get cached.
      
      Remove the clientid DRC specific check in nfs4svc_encode_compoundres to
      put the session only if cstate.session is set which will now always be true.
      Signed-off-by: default avatarAndy Adamson <andros@netapp.com>
      Signed-off-by: default avatarJ. Bruce Fields <bfields@citi.umich.edu>
      49557cc7
  3. 16 Jun, 2009 1 commit
  4. 01 Jun, 2009 1 commit
    • Yu Zhiguo's avatar
      NFSv4: do exact check about attribute specified · 3c8e0316
      Yu Zhiguo authored
      
      Server should return NFS4ERR_ATTRNOTSUPP if an attribute specified is
      not supported in current environment.
      Operations CREATE, NVERIFY, OPEN, SETATTR and VERIFY should do this check.
      
      This bug is found when do newpynfs tests. The names of the tests that failed
      are following:
        CR12 NVF7a NVF7b NVF7c NVF7d NVF7f NVF7r NVF7s
        OPEN15 VF7a VF7b VF7c VF7d VF7f VF7r VF7s
      
      Add function do_check_fattr() to do exact check:
      1, Check attribute specified is supported by the NFSv4 server or not.
      2, Check FATTR4_WORD0_ACL & FATTR4_WORD0_FS_LOCATIONS are supported
         in current environment or not.
      3, Check attribute specified is writable or not.
      
      step 1 and 3 are done in function nfsd4_decode_fattr() but removed
      to this function now.
      Signed-off-by: default avatarYu Zhiguo <yuzg@cn.fujitsu.com>
      Signed-off-by: default avatarJ. Bruce Fields <bfields@citi.umich.edu>
      3c8e0316
  5. 06 May, 2009 1 commit
  6. 03 May, 2009 1 commit
  7. 29 Apr, 2009 3 commits
  8. 03 Apr, 2009 14 commits
  9. 18 Mar, 2009 2 commits
  10. 17 Mar, 2009 1 commit
  11. 07 Jan, 2009 1 commit
  12. 29 Sep, 2008 6 commits
  13. 18 Jul, 2008 2 commits
  14. 04 Jul, 2008 1 commit
  15. 02 Jul, 2008 4 commits