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>
This commit is contained in:
@@ -393,6 +393,7 @@ static void afs_store_data_success(struct afs_operation *op)
|
||||
{
|
||||
struct afs_vnode *vnode = op->file[0].vnode;
|
||||
|
||||
op->ctime = op->file[0].scb.status.mtime_client;
|
||||
afs_vnode_commit_status(op, &op->file[0]);
|
||||
if (op->error == 0) {
|
||||
afs_pages_written_back(vnode, op->store.first, op->store.last);
|
||||
|
Reference in New Issue
Block a user