afs: Concoct ctimes
authorDavid Howells <dhowells@redhat.com>
Sat, 13 Jun 2020 18:34:59 +0000 (19:34 +0100)
committerDavid Howells <dhowells@redhat.com>
Mon, 15 Jun 2020 14:41:02 +0000 (15:41 +0100)
commitda8d07551275abb3a38fae2d16e02bc9cc7396b2
tree0562151ea055f5dade21ce28edf11ddd5b017e04
parent3f4aa981816368fe6b1d13c2bfbe76df9687e787
afs: Concoct ctimes

The in-kernel afs filesystem ignores ctime because the AFS fileserver
protocol doesn't support ctimes.  This, however, causes various xfstests to
fail.

Work around this by:

 (1) Setting ctime to attr->ia_ctime in afs_setattr().

 (2) Not ignoring ATTR_MTIME_SET, ATTR_TIMES_SET and ATTR_TOUCH settings.

 (3) Setting the ctime from the server mtime when on the target file when
     creating a hard link to it.

 (4) Setting the ctime on directories from their revised mtimes when
     renaming/moving a file.

Found by the generic/221 and generic/309 xfstests.

Signed-off-by: David Howells <dhowells@redhat.com>
fs/afs/dir.c
fs/afs/inode.c
fs/afs/internal.h
fs/afs/write.c