- 27 Sep, 2021 2 commits
-
-
Tigran Mkrtchyan authored
Motivation: The values use by aceflag4, acemask4 and acetype4 are wrapped by uint32_t ints. Modification: Simplify aceflag4, acemask4 and acetype4 by dropping extra uint32 wrapper. Result: less work for GC. Acked-by: Paul Millar Acked-by: Lea Morschel Target: master
-
Tigran Mkrtchyan authored
Motivation: The ACE flags are missing in the result of nfsace4#toString method and introduce a confusion during debugging. Modification: include ACE flags in toString method Result: consistent output in logs Acked-by: Paul Millar Acked-by: Lea Morschel Target: master
-
- 01 Sep, 2021 1 commit
-
-
Tigran Mkrtchyan authored
Motivation: When an async server side copy is performed, then server must notify the client on completion. Modification: Add copy-offload notification to the back channel. Result: the ground work for async server side copy Acked-by: Paul Millar Target: master
-
- 31 Aug, 2021 1 commit
-
-
Tigran Mkrtchyan authored
Motivation: the newer libc make use of copy_file_range function, that directly mapped to NFSv4.2 COPY request. Modification: Add initial implementation on OperationCOPY that synchronously copies the data between two open files. Result: initial step to support intra-server copy. Acked-by: Paul Millar Target: master
-
- 05 May, 2021 1 commit
-
-
Tigran Mkrtchyan authored
Guava's implementation of Files#asCharSink s marked @Beta and can be replaced with java native Files#writeString. Result: less dependency on guava's non stable API. Acked-by: Paul Millar Acked-by: Lea Morschel Target: master
-
- 04 May, 2021 1 commit
-
-
Tigran Mkrtchyan authored
the call of Inode#toString for logging is redundant, especially when logger is disabled. Acked-by: Lea Morschel Acked-by: Paul Millar Target: master
-
- 22 Apr, 2021 1 commit
-
-
Tigran Mkrtchyan authored
Fixes: #103
-
- 26 Feb, 2021 3 commits
-
-
Tigran Mkrtchyan authored
Motivation: There are no reasons to have to utility classes in a single package (plus Himera vs Chimera) Modification: merge NameUtils and HimeraNfsUtils into single class Utils class, including corresponding tests. Result: same code, less classes Acked-by: Marina Sahakyan Target: master
-
Tigran Mkrtchyan authored
Motivation: uid3 and gid3 object are wraps around uint32, which is by itself wrap around int. Modification: simplify buid3 and gid3y wrapping directly int Result: less load on GC. Acked-by: Paul Millar Acked-by: Marina Sahakyan Target: master
-
Tigran Mkrtchyan authored
Motivation: size3 object is a wrap around uint64, which is by itself wrap around long. Modification: simplify size3 by wrapping directly long Result: less load on GC. Acked-by: Marina Sahakyan Acked-by: Paul Millar Target: master
-
- 22 Feb, 2021 3 commits
-
-
Tigran Mkrtchyan authored
if client supports multiple layout types, then we need a way to specify which one is needed. Acked-by: Paul Millar Target: master
-
Tigran Mkrtchyan authored
re-format only
-
Tigran Mkrtchyan authored
Motivation: Current client uses LAYOUT4_NFSV4_1_FILES layout types independent from what server is offering. Modification: Update client to show server side supported layout types and disable pNFS if client doesn't supports any of them. Result: more debug possibilities Acked-by: Albert Rossi Acked-by: Paul Millar Target: master
-
- 18 Feb, 2021 1 commit
-
-
Tigran Mkrtchyan authored
Not used as the functionality is handles by implementations of LayoutDriver interface. Acked-by: Lea Morschel Acked-by: Paul Millar Acked-by: Albert Rossi Target: master
-
- 29 Jan, 2021 1 commit
-
-
Tigran Mkrtchyan authored
as dcache.org hae disabled http->https redirection some builds start to fail. Fixes: #98 Target: master, 0.22, 0.21
-
- 07 Jan, 2021 1 commit
-
-
Tigran Mkrtchyan authored
Motivation: The state handler keeps track of NFSv4 clients. This duty is not symmetric - updates happen when a client is added or removed, but queried almost for any compound operation in a session. Thus on a busy system we can observe thread serialization. Modification: replace synchronized blocks with read/write locks. Result: a better concurrency in a multi-client environment. Acked-by: Paul Millar Acked-by: Albert Rossi Target: master
-
- 05 Jan, 2021 1 commit
-
-
Tigran Mkrtchyan authored
Motivation: when estimating readdir reply size we should not forget about boolean flag that indicates the presence of a next entry. Modification: fix entry overhead size. Result: The returned xdr doesn't overflow expected reply size. Acked-by: Paul Millar Target: master, 0.22
-
- 21 Dec, 2020 1 commit
-
-
Tigran Mkrtchyan authored
The exception is never thrown. Acked-by: Lea Morschel Target: master
-
- 13 Dec, 2020 1 commit
-
-
Tigran Mkrtchyan authored
-
- 09 Dec, 2020 1 commit
-
-
Tigran Mkrtchyan authored
Motivation: Though bitmap can have an arbitrary length, the linux 5.10 client expects device notification bitmap to be size of one (1). Modification: Update OperationGETDEVICEINFO to initialize resulting notification bitmap with the length that matches requested notification bitmap. Result: Linux 5.10 client processes the result of getdeviceinfo operation as expected. Target: 0.22, master Acked-by: Paul Millar Acked-by: Albert Rossi
-
- 08 Dec, 2020 1 commit
-
-
Tigran Mkrtchyan authored
-
- 22 Oct, 2020 3 commits
-
-
Tigran Mkrtchyan authored
-
Tigran Mkrtchyan authored
-
Tigran Mkrtchyan authored
Motivation: new major version update with improvements and breaking changes: - Drop dependency on dcache-auth , which had incompatible license - Experimental AUTH_TLS support - Various javadoc improvements - Improved code coverage - removed direct dependency on grizzly-framework-monitoring The result of removal of license incompatible dcache-auth in oncrpc4j is migration from org.dcache.auth.GidPrincipal and org.dcache.auth.UidPrincipal to com.sun.security.auth.UnixNumericGroupPrincipal and com.sun.security.auth.UnixNumericUserPrincipa. This breaking change have to be handled in nfs4j. Modification: Update pom to use oncrpc4j-3.1.0. Introduce UnixSubjects that provides alternative to org.dcache.auth.Subjects. Update code base to match API changes. Result: The nfs4j has no dependency with conflicting license. Support for nfs-over-tls. WARNING: this is a breaking change that requires changes in VirtualFileSystem implementations. Acked-by: Paul Millar Target: master
-
- 20 Oct, 2020 1 commit
-
-
Tigran Mkrtchyan authored
Motivation: The NfsLoginService aimed to handle RPCSEC_GSS based session and map GSS context to appropriate Subject. However, this is always handled by RPC layer (after split of nfs and rpc modules into different projects). Thus NfsLoginService is simply a dead code. Modification: remove NfsLoginService interface Result: less dead code Acked-by: Paul Millar Acked-by: Lea Morschel Target: master
-
- 16 Oct, 2020 2 commits
-
-
Tigran Mkrtchyan authored
Motivation: the UnixUtils used by nfs client to extract curren user with the help of reflection. As com.sun.security.auth.module.UnixSystem is a part of official OpenJDK, there are no reasons to hide it usage. Modification: update nfs client to directly call com.sun.security.auth.module.UnixSystem. Result: less magic in the code. Acked-by: Paul Millar Target: master
-
Tigran Mkrtchyan authored
modernize Acked-by: Paul Millar Target: master
-
- 15 Oct, 2020 1 commit
-
-
Tigran Mkrtchyan authored
Motivation: The read/write buffer size between a and the data server is offered by MDS. Currently, this value is hard coded to 64k, which is not optimal value for modern hardware. Modification: Allow mds to specify preferred IO size for DS. Though this value can be different for each data server, we use a single buffer size by assuming that in typical installation data servers have a similar IO capabilities. As Linux client uses single value for rsize and wsize, we use (for pragmatic reasons) a single value as well. Result: The IO size between clients and the server can be configured. Acked-by: Paul Millar Target: master
-
- 13 Oct, 2020 2 commits
-
-
Tigran Mkrtchyan authored
build(deps): bump junit from 4.12 to 4.13.1
-
dependabot[bot] authored
Bumps [junit](https://github.com/junit-team/junit4) from 4.12 to 4.13.1. - [Release notes](https://github.com/junit-team/junit4/releases) - [Changelog](https://github.com/junit-team/junit4/blob/main/doc/ReleaseNotes4.12.md) - [Commits](https://github.com/junit-team/junit4/compare/r4.12...r4.13.1 ) Signed-off-by:
dependabot[bot] <support@github.com>
-
- 12 Oct, 2020 1 commit
-
-
Tigran Mkrtchyan authored
fix /data: 10.1.0.1(RW,root_squash,noacl,sec=SYSsecure,,dcap,pnfs,anonuid=1001,anongid=65534):idx=2eefc9 ^^^^^^ to /data: 10.1.0.1(RW,root_squash,noacl,sec=SYS,secure,dcap,pnfs,anonuid=1001,anongid=65534):idx=2eefc9 Acked-by: Lea Morschel Target: master
-
- 07 Oct, 2020 1 commit
-
-
Tigran Mkrtchyan authored
move return statement into try-catch block for better readability Acked-by: Lea Morschel Acked-by: Paul Millar Target: master
-
- 09 Sep, 2020 1 commit
-
-
Tigran Mkrtchyan authored
Acked-by: Paul Millar Acked-by: Lea Morschel Target: master
-
- 08 Sep, 2020 1 commit
-
-
Tigran Mkrtchyan authored
Motivation: In some environments we might want to enforce clients to come from a privileged port (< 1024), e.g. to be sure that request is send by kernel process. Modification: Add secure/insecure export options (like in linux and solaris servers). Update PseudoFs to to check for privileged client port, if required. Result: nfs clients can be restricted to privileged (root) users. Acked-by: Lea Morschel Acked-by: Paul Millar Target: master
-
- 07 Sep, 2020 1 commit
-
-
Tigran Mkrtchyan authored
Motivation: The nfs spec requires, that after restart client presents the same client id. Though this is not that important for the test client, however, makes testing more reliable. Modification: generate client is string to be java class name + user + host name. for example: org.dcache.nfs.v4.client.Main: tigran on nairi Result: server friendly test client. Acked-by: Paul Millar Acked-by: Lea Morschel Target: master
-
- 26 Aug, 2020 1 commit
-
-
Tigran Mkrtchyan authored
Motivation: Some NFSv4.1 operations must be bound to a session, some are not. Thus for some compound requests the first operations must be SEQUENCE, that specifies the session id, slot to use and sequence. Modification: introduce sendCompoundInSession method that takes care about session bookkeeping. Result: Automatic session processing when the corresponding sendCompound is used. Acked-by: Paul Millar Target: master
-
- 25 Aug, 2020 1 commit
-
-
Tigran Mkrtchyan authored
Motivation: client session slot handling is not only used by call-back but as well by a regular client and proxy-io client inside dCache. Thus, this functionality should be shared to reduce code duplication. Modification: introduce ClientSession class that does the session slot management. Result: client side session slot management can be shared with other classes. Acked-by: Paul Millar Acked-by: Lea Morschel Target: master
-
- 24 Aug, 2020 1 commit
-
-
Tigran Mkrtchyan authored
If we want to build a GETATTR request with to retrieve the file handle, then we should be able to process the result. Acked-by: Paul Millar Acked-by: Lea Morschel Target: master
-
- 21 Aug, 2020 2 commits
-
-
Tigran Mkrtchyan authored
make readdir request size reasonable (equal to linux kernel) for better performance with big directories. Acked-by: Lea Morschel Acked-by: Paul Millar Acked-by: Albert Rossi Target: master
-
Tigran Mkrtchyan authored
and rename some fields to make them more obvious. Acked-by: Lea Morschel Acked-by: Paul Millar Target: master
-