1. 29 Jun, 2020 1 commit
  2. 25 Jun, 2020 3 commits
    • Tigran Mkrtchyan's avatar
      nfs4: use ConcurrentHashMap for open file tracking · c798bc1a
      Tigran Mkrtchyan authored
      Motivation:
      in a highly concurrent environment the ConcurrentHashMap hash map has
      a better throughput than synchronized hashmap.
      
      Benchmark                                                (map)   Mode  Cnt       Score       Error  Units
      FileTrackerBenchmark.fileTrackerHashMapTest      HashMap  thrpt   25  691051.876 ± 23720.699  ops/s
      FileTrackerBenchmark.fileTrackerHashMapTest  ConcHashMap  thrpt   25  792051.898 ± 18111.740  ops/s
      
      Benchmark with 48 concurrent clients.
      
      Modification:
      Update FileTracker to use ConcurrentHashMap to track open files
      
      Result:
      better throughput in concurrent environment
      
      Acked-by: Lea Morschel
      Target: master
      c798bc1a
    • Tigran Mkrtchyan's avatar
      nfs4: stop using deprecated guava API in tests · d3b3cd75
      Tigran Mkrtchyan authored
      Acked-by: Lea Morschel
      Target: master
      d3b3cd75
    • Tigran Mkrtchyan's avatar
      file-tracker: fix typo in comments · 397b95b7
      Tigran Mkrtchyan authored
      no code changes.
      397b95b7
  3. 18 Jun, 2020 1 commit
  4. 26 May, 2020 2 commits
  5. 21 May, 2020 1 commit
  6. 20 May, 2020 2 commits
  7. 19 May, 2020 1 commit
    • Tigran Mkrtchyan's avatar
      nfs4: simplify stateid4 class · 59550a9c
      Tigran Mkrtchyan authored
      Motivation:
      stateid4 is a struct that holds a byte array and int. No need
      for extra wrapper around int.
      
      Modification:
      use plain int to reduce object creation.
      
      Result:
      simpler code.
      
      Acked-by: Paul Millar
      Acked-by: Svenja Meyer
      Target: master
      59550a9c
  8. 08 May, 2020 1 commit
    • Tigran Mkrtchyan's avatar
      nfs: make spring dependency scope `provided` · 3b8d58d2
      Tigran Mkrtchyan authored
      Motivation:
      as nfs-spring module expected to be used in spring based application,
      we can expect spring libraries to be available at the runtime.
      
      Modification:A
      make spring dependency scope `provided`
      
      Result:
      less mess with transient dependencies for spring based apps.
      
      Acked-by: Lea Morschel
      Acked-by: Paul Millar
      Target: master
      3b8d58d2
  9. 22 Apr, 2020 1 commit
  10. 08 Apr, 2020 2 commits
    • Tigran Mkrtchyan's avatar
      nfs42: implement minimal nfs v4.2 server · 5a36149f
      Tigran Mkrtchyan authored
      Motivation:
      according to rfc 7862 minimal nfs v4.2 server should accept minorversion
      2 requests and can respond 'not supported' to all in the spec defined
      operations.
      
      Modification:
      accept minorversion 2 and respond 'not supported' to
      
      - ALLOCATE
      - COPY
      - COPY_NOTIFY
      - DEALLOCATE
      - IO_ADVISE
      - OFFLOAD_CANCEL
      - OFFLOAD_STATUS
      - READ_PLUS
      - SEEK
      - WRITE_SAME
      - CLONE
      
      Result:
      
      'Noop' spec compliant nfs 4.2 implementation
      
      Acked-by: Lea Morschel
      Target: master
      5a36149f
    • Tigran Mkrtchyan's avatar
      nfs42: add auto-generated code of NFSv4.2 data types · 05f51790
      Tigran Mkrtchyan authored
      Acked-by: Albert Rossi
      Acked-by: Lea Morschel
      Target: master
      05f51790
  11. 06 Apr, 2020 1 commit
  12. 23 Mar, 2020 2 commits
  13. 20 Mar, 2020 2 commits
    • Tigran Mkrtchyan's avatar
      vfs: add missing xattr related methods to ForwardingFileSystem · a8c0ec1b
      Tigran Mkrtchyan authored
      Motivation:
      the decorator must forward all methods to avoid default behavior.
      
      Modification:
      add missing xattr related methods ForwardingFileSystem
      
      Result:
      the methods of decorated class is used instead of default behaviour.
      
      Acked-by: Albert Rossi
      Target: master, 0.20
      a8c0ec1b
    • Tigran Mkrtchyan's avatar
      libs: use jline3 · 95db0e59
      Tigran Mkrtchyan authored
      Motivation:
      from jline2 official page:
      "JLine 2.x development has come to an end, and users are encouraged to
      investigate the use of JLine 3.x instead."
      
      Modification:
      update pom  to use new library. adjust code to new API.
      
      Result:
      up-to-date dependency
      
      Acked-by: Albert Rossi
      Target: master
      95db0e59
  14. 16 Mar, 2020 2 commits
  15. 12 Mar, 2020 1 commit
    • Tigran Mkrtchyan's avatar
      vfs: add xattr access modes to the mask · 0b38172b
      Tigran Mkrtchyan authored
      Motivation:
      the ACCESS4_XAREAD  ACCESS4_XAWRITE  ACCESS4_XALIST access
      modes should be recognized by the server as valid values.
      
      Modification:
      add xattr access modes to the mask
      
      Result:
      server accepts xattr access masks.
      
      Acked-by: Lea Morschel
      Target: master, 0.20
      0b38172b
  16. 02 Mar, 2020 1 commit
  17. 26 Feb, 2020 3 commits
  18. 25 Feb, 2020 2 commits
    • Tigran Mkrtchyan's avatar
      nfs4: getattr should return lease time configured on state handler · 1cf016b0
      Tigran Mkrtchyan authored
      Motivation:
      if server uses another non default value for leas time, then value
      returned by GETATTR is incorrect.
      
      Modification:
      introduce NFSv4StateHandler#getLeaseTime and use it to get the value of
      FATTR4_LEASE_TIME attribute.
      
      Result:
      a server with non default lease time will return the correct value on
      getattr.
      
      Acked-by: Albert Rossi
      Target: master
      1cf016b0
    • Tigran Mkrtchyan's avatar
      nfs4: update NFSv4StateHandler to store lease time as seconds · 248c8779
      Tigran Mkrtchyan authored
      Motivation:
      according to rfc7530, nfs_lease4 is 32 bit integer and expressed in
      seconds. This doesn't match with current internals of NFSv4StateHandler.
      
      Modification:
      update NFSv4StateHandler to store lease time as seconds.
      
      Result:
      no visible changes. Ground work for up-coming changes.
      
      Acked-by: Albert Rossi
      Target: master
      248c8779
  19. 24 Feb, 2020 2 commits
    • Tigran Mkrtchyan's avatar
      mount: add missing message placeholder in log a statement · 540ec29b
      Tigran Mkrtchyan authored
      Acked-by: Paul Millar
      Acked-by: Lea Morschel
      Target: master
      540ec29b
    • Tigran Mkrtchyan's avatar
      nfs4: make extended NFSv4StateHandler constructor public · 06151918
      Tigran Mkrtchyan authored
      Motivation:
      the NFSv4StateHandler(leaseTime, instanceId, clientStore)  constructor
      can be used by NFS servers to control NFSv4StateHandler instance
      creation. As extended constructor is package protected, thus control is
      unavailable to other modules.
      
      Modification:
      make extended NFSv4StateHandler constructor public. Updated javadoc.
      
      Result:
      more control on how instance of NFSv4StateHandler created.
      
      Acked-by: Paul Millar
      Target: master
      06151918
  20. 07 Feb, 2020 1 commit
  21. 24 Jan, 2020 1 commit
    • Tigran Mkrtchyan's avatar
      src: rename org.dcache.utils => org.dcache.nfs.utils · dfbb6721
      Tigran Mkrtchyan authored
      Motivation:
      Java9 module subsystem doesn't allow different one package to exists
      in two jars files. As org.dcache.utils is too generic and exists in
      other dcache components as well, we have to avoid it's usage.
      
      Modification:
      rename org.dcache.utils package to org.dcache.nfs.util
      
      Result:
      initial step in a direction to provide Java9 compatible modules
      
      Acked-by: Lea Morschel
      Target: master
      dfbb6721
  22. 17 Dec, 2019 1 commit
    • Tigran Mkrtchyan's avatar
      pom: filter out naming related Spotbugs issues · 7e7bee6b
      Tigran Mkrtchyan authored
      Motivation:
      As nfs4j uses autogenerated code, filter out naming issues to
      make critical problems more visible.
      
      Modification:
      introduce spotbugs-exclude.xml file containing warnings that
      should be ignored.
      
      Result:
      critical problems more visible
      
      Acked-by: Paul Millar
      Acked-by: Lea Morschel
      Target: master
      7e7bee6b
  23. 13 Dec, 2019 1 commit
    • Tigran Mkrtchyan's avatar
      flexfiles: remove Serializable marker from autogenerated classes · 88180c95
      Tigran Mkrtchyan authored
      Motivation:
       - we should never serialize xdr objects
       - some classes are composites of non Serializables, thus can't be
         serialized at all
       - SpotBugs generates a warning
      
      Modification:
      remove Serializable marker from autogenerated classes
      
      Result:
      cleaner code. No visible changes.
      
      Acked-by: Olufemi Adeyemi
      Acked-by: Lea Morschel
      Target: master
      88180c95
  24. 12 Dec, 2019 1 commit
  25. 04 Dec, 2019 1 commit
  26. 03 Dec, 2019 1 commit
    • Tigran Mkrtchyan's avatar
      nfs: add initial implementation of xattr support · a1f08100
      Tigran Mkrtchyan authored
      Motivation:
      
      Modification:
      pass nfs requests to backend file system implementation. The list operation
      for now assumes that reply will fit into a single reply.
      
      Result:
      minimal support of file extended attribute over NFS
      
      Acked-by: Paul Millar
      Target: master
      a1f08100
  27. 29 Nov, 2019 1 commit
    • Tigran Mkrtchyan's avatar
      vfs: invalidate stat cache on setxattr and removexattr · 5b41bd7b
      Tigran Mkrtchyan authored
      Motivation:
      as extended attribute cache on the client side bound to regular attribute
      cache, changes of extended attributes must invalidate attribute cache to
      propagate changes to other clients.
      
      Modification:
      invalidate stat cache on setxattr and removexattr
      
      Result:
      maintain cache consistency
      
      Acked-by: Paul Millar
      Acked-by: Lea Morschel
      Target: master
      5b41bd7b
  28. 25 Nov, 2019 1 commit