1. 19 Nov, 2019 2 commits
    • Tigran Mkrtchyan's avatar
      docs: add rfc8276.txt · fa8ebf93
      Tigran Mkrtchyan authored
      fa8ebf93
    • Tigran Mkrtchyan's avatar
      test: enforce default file permission for DummyVFS · 52d1fdfd
      Tigran Mkrtchyan authored
      Motivation:
      As we don't explicitly create fs-root object, the fs
      default value will be used as initial mode. An explicit
      value will make tests more stable and don't rely on umask
      value of the environment.
      
      Modification:
      enforce default file permission for DummyVFS
      
      Result:
      environment independent test behavior.
      
      Acked-by: Paul Millar
      Acked-by: Lea Morschel
      Target: master
      52d1fdfd
  2. 18 Nov, 2019 2 commits
  3. 30 Jul, 2019 1 commit
  4. 29 Jul, 2019 1 commit
    • Tigran Mkrtchyan's avatar
      pom: add profile to sign artifacts · 56387f78
      Tigran Mkrtchyan authored
      Motivation:
      The are many reasons why we should sign our artifacts. The main two are:
      
        - allow library users to verify who have release the jars
        - maven central accepts only signed artifacts (and this is the goal)
      
      Modification:
      Add profile that will be activated by maven release plugin or manually
      with `-P sign-artifacts` option.
      
      Result:
      produced artifacts will be released.
      
      Acked-by: Jürgen Starek
      Target: master, 0.19
      56387f78
  5. 25 Jul, 2019 1 commit
    • Tigran Mkrtchyan's avatar
      nfs4: initialize newly created state ids with sequence zero · 0d385e48
      Tigran Mkrtchyan authored
      Motivation:
      typically, every time when file's open/lock/layout state id is used to
      change file's state, the sequence number is incremented. Thus newly
      created stateid should have sequence zero, as it will be bumped during
      processing. As currently sequence number initialized with one (1), fresh
      created lock and layout state ids have sequence 2 when sent to the
      clients.
      
      Modification:
      Initialize sequence number of newly created state ids with zero.
      Increment open state id's sequence number for all state ids.
      
      Result:
      better spec compliance, as lock and layout state ids will start with
      sequence 1.
      
      Acked-by: Jürgen Starek
      Target: master, 0.19
      0d385e48
  6. 19 Jul, 2019 1 commit
  7. 17 Jul, 2019 5 commits
  8. 15 Jul, 2019 1 commit
  9. 10 Jul, 2019 3 commits
  10. 09 Jul, 2019 3 commits
  11. 08 Jul, 2019 4 commits
    • Tigran Mkrtchyan's avatar
      test: add OperationLAYOUTCOMMITTest · c37b7168
      Tigran Mkrtchyan authored
      Motivation:
      improve test coverage
      
      Modification:
      Add OperationLAYOUTCOMMITTest to test leyout commit with read-only open
      state.
      
      Result:
      better code coverage.
      
      Acked-by: Paul Millar
      Target: master
      c37b7168
    • Tigran Mkrtchyan's avatar
      nfs-client: send layoutcommit if required · 9d9a9300
      Tigran Mkrtchyan authored
      Acked-by: Paul Millar
      Target: master
      9d9a9300
    • Tigran Mkrtchyan's avatar
      nfs41: introduce NFSv41DeviceManager#layoutCommit method · 1a383866
      Tigran Mkrtchyan authored
      Motivation:
      Current implementation of layout commit operation assumes that
      only action that have to be done is updating file size. However,
      the back-end system may perform other actions as well if required.
      
      Modification:
      Introduce NFSv41DeviceManager#layoutCommit method. The driver
      implementation should take care to update file size, if required. The
      sanity check of a valid state it is sill performed as a part of genetic
      request processing.
      
      Result:
      The layout driver gets possibility to handle commit operation.
      
      Acked-by: Albert Rossi
      Acked-by: Paul Millar
      Target: master
      1a383866
    • Tigran Mkrtchyan's avatar
      pom: enable spotbugs plugin · 5df7ed9a
      Tigran Mkrtchyan authored
      Motivation:
      as findbugs is dead move to the successor
      
      https://mailman.cs.umd.edu/pipermail/findbugs-discuss/2017-September/004383.html
      
      Modification:
      enable spotbugs plugin that can be activated by:
      ```
      mvn spotbugs:spotbugs
      ```
      
      Result:
      use up-to-date static code analysis tool
      
      Target: master
      Acked-By: Paul Millar
      5df7ed9a
  12. 05 Jul, 2019 3 commits
  13. 01 Jul, 2019 1 commit
    • Tigran Mkrtchyan's avatar
      nfs4: introduce AbstractRequestExecutor · 096b49fe
      Tigran Mkrtchyan authored
      Motivation:
      The NFSv4OperationFactory interface provides only a method to retrieve
      nfs operation for a given request. The request execution is done by nfs
      server itself. Though a different factories can be provided, the way
      how requests are executed can't be changed. The example of such desired
      change can be execution metrics, fault injection, notifications.
      
      Modification:
      Introduce OperationExecutor interface. Introduce AbstractOperationExecutor
      that provides a generic implementation of request execution, but sill
      allows subclasses to control which requests are supported. Removed
      RequestExecutionTimeGauges and OperationFactoryMXBeanImpl as they can be
      added by subclassing/wrapping an instance of OperationExecutor.
      
      Though this is a breaking change, code migration should be easy:
      
      MDSOperationFactory -> MDSOperationExecutor
      
              NFSServerV41 nfs4 = new NFSServerV41.Builder()
                      .withExportTable(exportFile)
                      .withVfs(vfs)
                      .withOperationExecutor(new MDSOperationExecutor())
                      .build();
      
      Result:
      A way to inject different strategies for request execution
      
      Acked-by: Paul Millar
      Target: master
      096b49fe
  14. 24 Jun, 2019 1 commit
  15. 22 Jun, 2019 2 commits
  16. 21 Jun, 2019 3 commits
  17. 17 Jun, 2019 1 commit
  18. 14 Jun, 2019 2 commits
    • Tigran Mkrtchyan's avatar
      vfs: add unit test for validate PseudoFS · c66e099d
      Tigran Mkrtchyan authored
      improve code coverage
      
      Acked-by: Paul Millar
      Target: master
      c66e099d
    • Tigran Mkrtchyan's avatar
      pseudofs: fix directory listing with non zero cookie · e2a9e086
      Tigran Mkrtchyan authored
      Motivation:
      current code have some issues:
      
        - the pseudo file systems directory cookie starts with zero,
          which is not allowed.
      
        - listing in pseudo file system ignores provided cookie.
      
      Modification:
      
      update listPseudoDirectory to generate cookies stargin from 3,
      as 0, 1 and 2 are reserved values. Return tail of listing started from
      cookie, if provided.
      
      Result:
      fixed directory listing in pseudo file system with non zero initial
      cookie.
      
      Acked-by: Paul Millar
      Target: master, 0.18
      e2a9e086
  19. 13 Jun, 2019 2 commits
  20. 10 Jun, 2019 1 commit
    • Tigran Mkrtchyan's avatar
      nfs4: add LAYOUTSTATS and LAYOUTERROR operations stubs · 69f39ae0
      Tigran Mkrtchyan authored
      Motivation:
      NFSv4.2 have introduced some new operations including LAYOUTSTATS and
      LAYOUTERROR. Tough those operations are not supported, we return error
      illegal.
      
      Modification:
      Add dummy OperationLAYOUTERROR and OperationLAYOUTSTATS that returns
      NFSERR_NOTSUPP.
      
      Result:
      client receives NFSERR_NOTSUPP instead of NFSERR_ILLEGAL. First building
      block to add support for LAYOUTSTATS and LAYOUTERROR.
      
      Acked-by: Paul Millar
      Target: master
      69f39ae0