Skip to content

Commit 64902e4

Browse files
committed
basic-server: fix ctime and btime attributes retrieval
ctime -> change time btime -> creation (birth time) Acked-by: Marina Sahakyan Target: master
1 parent be84af5 commit 64902e4

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

basic-server/src/main/java/org/dcache/nfs4j/server/LocalFileSystem.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -462,14 +462,15 @@ private Stat statPath(Path p, long inodeNumber) throws IOException {
462462
Stat stat = new Stat();
463463

464464
stat.setATime(attrs.lastAccessTime().toMillis());
465-
stat.setCTime(attrs.creationTime().toMillis());
465+
stat.setBTime(attrs.creationTime().toMillis());
466466
stat.setMTime(attrs.lastModifiedTime().toMillis());
467467

468468
if (IS_UNIX) {
469469
stat.setGid((Integer) Files.getAttribute(p, "unix:gid", NOFOLLOW_LINKS));
470470
stat.setUid((Integer) Files.getAttribute(p, "unix:uid", NOFOLLOW_LINKS));
471471
stat.setMode((Integer) Files.getAttribute(p, "unix:mode", NOFOLLOW_LINKS));
472472
stat.setNlink((Integer) Files.getAttribute(p, "unix:nlink", NOFOLLOW_LINKS));
473+
stat.setCTime(((FileTime) Files.getAttribute(p, "unix:ctime", NOFOLLOW_LINKS)).toMillis());
473474
} else {
474475
DosFileAttributes dosAttrs = (DosFileAttributes)attrs;
475476
stat.setGid(0);
@@ -483,7 +484,7 @@ private Stat statPath(Path p, long inodeNumber) throws IOException {
483484
stat.setIno(inodeNumber);
484485
stat.setRdev(17);
485486
stat.setSize(attrs.size());
486-
stat.setGeneration(attrs.lastModifiedTime().toMillis());
487+
stat.setGeneration(Math.max(stat.getCTime(), stat.getMTime()));
487488

488489
return stat;
489490
}

0 commit comments

Comments
 (0)