1. 30 Jul, 2019 1 commit
  2. 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
  3. 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
  4. 19 Jul, 2019 1 commit
  5. 17 Jul, 2019 5 commits
  6. 15 Jul, 2019 1 commit
  7. 10 Jul, 2019 3 commits
  8. 09 Jul, 2019 3 commits
  9. 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
  10. 05 Jul, 2019 3 commits
  11. 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
  12. 24 Jun, 2019 1 commit
  13. 22 Jun, 2019 2 commits
  14. 21 Jun, 2019 3 commits
  15. 17 Jun, 2019 1 commit
  16. 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
  17. 13 Jun, 2019 2 commits
  18. 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
  19. 07 Jun, 2019 3 commits
    • Tigran Mkrtchyan's avatar
      nfsv4: add test for readdir behind last cookie · 3156e5f7
      Tigran Mkrtchyan authored
      ensure, that readdir behind last entry returns empty directory listing.
      
      Acked-by: Paul Millar
      Target: master
      3156e5f7
    • Tigran Mkrtchyan's avatar
      libs: use hamcrest 2.1 · 13656bd8
      Tigran Mkrtchyan authored
      Motivation:
      latest version of hamcrest test suite to write more sophisticated test
      cases.
      
      Modification:
      Update dependency in the pom file. Update test to avoid usage of
      deprecated API.
      
      Result:
      up-to-date test infrastructure to enhance tests.
      
      Acked-by: Paul Millar
      Target: master
      13656bd8
    • Tigran Mkrtchyan's avatar
      libs: use mockito-core 2.28 · 59edb797
      Tigran Mkrtchyan authored
      up-to-date version with java11 support
      
      Acked-by: Paul Millar
      Target: master
      59edb797
  20. 10 May, 2019 1 commit