aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/afs/fsclient.c18
-rw-r--r--fs/afs/inode.c2
2 files changed, 10 insertions, 10 deletions
diff --git a/fs/afs/fsclient.c b/fs/afs/fsclient.c
index d9234b767287..19f76ae36982 100644
--- a/fs/afs/fsclient.c
+++ b/fs/afs/fsclient.c
@@ -111,7 +111,7 @@ static void xdr_decode_AFSFetchStatus(const __be32 **_bp,
111 vnode->vfs_inode.i_mode = mode; 111 vnode->vfs_inode.i_mode = mode;
112 } 112 }
113 113
114 vnode->vfs_inode.i_ctime.tv_sec = status->mtime_server; 114 vnode->vfs_inode.i_ctime.tv_sec = status->mtime_client;
115 vnode->vfs_inode.i_mtime = vnode->vfs_inode.i_ctime; 115 vnode->vfs_inode.i_mtime = vnode->vfs_inode.i_ctime;
116 vnode->vfs_inode.i_atime = vnode->vfs_inode.i_ctime; 116 vnode->vfs_inode.i_atime = vnode->vfs_inode.i_ctime;
117 vnode->vfs_inode.i_version = data_version; 117 vnode->vfs_inode.i_version = data_version;
@@ -734,8 +734,8 @@ int afs_fs_create(struct afs_server *server,
734 memset(bp, 0, padsz); 734 memset(bp, 0, padsz);
735 bp = (void *) bp + padsz; 735 bp = (void *) bp + padsz;
736 } 736 }
737 *bp++ = htonl(AFS_SET_MODE); 737 *bp++ = htonl(AFS_SET_MODE | AFS_SET_MTIME);
738 *bp++ = 0; /* mtime */ 738 *bp++ = htonl(vnode->vfs_inode.i_mtime.tv_sec); /* mtime */
739 *bp++ = 0; /* owner */ 739 *bp++ = 0; /* owner */
740 *bp++ = 0; /* group */ 740 *bp++ = 0; /* group */
741 *bp++ = htonl(mode & S_IALLUGO); /* unix mode */ 741 *bp++ = htonl(mode & S_IALLUGO); /* unix mode */
@@ -1003,8 +1003,8 @@ int afs_fs_symlink(struct afs_server *server,
1003 memset(bp, 0, c_padsz); 1003 memset(bp, 0, c_padsz);
1004 bp = (void *) bp + c_padsz; 1004 bp = (void *) bp + c_padsz;
1005 } 1005 }
1006 *bp++ = htonl(AFS_SET_MODE); 1006 *bp++ = htonl(AFS_SET_MODE | AFS_SET_MTIME);
1007 *bp++ = 0; /* mtime */ 1007 *bp++ = htonl(vnode->vfs_inode.i_mtime.tv_sec); /* mtime */
1008 *bp++ = 0; /* owner */ 1008 *bp++ = 0; /* owner */
1009 *bp++ = 0; /* group */ 1009 *bp++ = 0; /* group */
1010 *bp++ = htonl(S_IRWXUGO); /* unix mode */ 1010 *bp++ = htonl(S_IRWXUGO); /* unix mode */
@@ -1203,8 +1203,8 @@ static int afs_fs_store_data64(struct afs_server *server,
1203 *bp++ = htonl(vnode->fid.vnode); 1203 *bp++ = htonl(vnode->fid.vnode);
1204 *bp++ = htonl(vnode->fid.unique); 1204 *bp++ = htonl(vnode->fid.unique);
1205 1205
1206 *bp++ = 0; /* mask */ 1206 *bp++ = htonl(AFS_SET_MTIME); /* mask */
1207 *bp++ = 0; /* mtime */ 1207 *bp++ = htonl(vnode->vfs_inode.i_mtime.tv_sec); /* mtime */
1208 *bp++ = 0; /* owner */ 1208 *bp++ = 0; /* owner */
1209 *bp++ = 0; /* group */ 1209 *bp++ = 0; /* group */
1210 *bp++ = 0; /* unix mode */ 1210 *bp++ = 0; /* unix mode */
@@ -1280,8 +1280,8 @@ int afs_fs_store_data(struct afs_server *server, struct afs_writeback *wb,
1280 *bp++ = htonl(vnode->fid.vnode); 1280 *bp++ = htonl(vnode->fid.vnode);
1281 *bp++ = htonl(vnode->fid.unique); 1281 *bp++ = htonl(vnode->fid.unique);
1282 1282
1283 *bp++ = 0; /* mask */ 1283 *bp++ = htonl(AFS_SET_MTIME); /* mask */
1284 *bp++ = 0; /* mtime */ 1284 *bp++ = htonl(vnode->vfs_inode.i_mtime.tv_sec); /* mtime */
1285 *bp++ = 0; /* owner */ 1285 *bp++ = 0; /* owner */
1286 *bp++ = 0; /* group */ 1286 *bp++ = 0; /* group */
1287 *bp++ = 0; /* unix mode */ 1287 *bp++ = 0; /* unix mode */
diff --git a/fs/afs/inode.c b/fs/afs/inode.c
index 4079c832ff27..aae55dd15108 100644
--- a/fs/afs/inode.c
+++ b/fs/afs/inode.c
@@ -85,7 +85,7 @@ static int afs_inode_map_status(struct afs_vnode *vnode, struct key *key)
85 inode->i_uid = vnode->status.owner; 85 inode->i_uid = vnode->status.owner;
86 inode->i_gid = vnode->status.group; 86 inode->i_gid = vnode->status.group;
87 inode->i_size = vnode->status.size; 87 inode->i_size = vnode->status.size;
88 inode->i_ctime.tv_sec = vnode->status.mtime_server; 88 inode->i_ctime.tv_sec = vnode->status.mtime_client;
89 inode->i_ctime.tv_nsec = 0; 89 inode->i_ctime.tv_nsec = 0;
90 inode->i_atime = inode->i_mtime = inode->i_ctime; 90 inode->i_atime = inode->i_mtime = inode->i_ctime;
91 inode->i_blocks = 0; 91 inode->i_blocks = 0;