aboutsummaryrefslogtreecommitdiffstats
path: root/fs/cifs/cifsglob.h
diff options
context:
space:
mode:
authorJeff Layton <jlayton@redhat.com>2011-01-07 11:30:27 -0500
committerSteve French <sfrench@us.ibm.com>2011-01-09 18:43:00 -0500
commit20054bd65703f7504a9daceabc2a060828fde36c (patch)
treea15151a2d3a1d8abe1c72701ceb3e9f7051fe6ea /fs/cifs/cifsglob.h
parentd44a9fe2c8af3fee8edb203e9b11e507851c50fa (diff)
cifs: use CreationTime like an i_generation field
Reduce false inode collisions by using the CreationTime like an i_generation field. This way, even if the server ends up reusing a uniqueid after a delete/create cycle, we can avoid matching the inode incorrectly. Signed-off-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'fs/cifs/cifsglob.h')
-rw-r--r--fs/cifs/cifsglob.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h
index e6590e69fb0e..606ca8bb7102 100644
--- a/fs/cifs/cifsglob.h
+++ b/fs/cifs/cifsglob.h
@@ -453,6 +453,7 @@ struct cifsInodeInfo {
453 bool invalid_mapping:1; /* pagecache is invalid */ 453 bool invalid_mapping:1; /* pagecache is invalid */
454 u64 server_eof; /* current file size on server */ 454 u64 server_eof; /* current file size on server */
455 u64 uniqueid; /* server inode number */ 455 u64 uniqueid; /* server inode number */
456 u64 createtime; /* creation time on server */
456#ifdef CONFIG_CIFS_FSCACHE 457#ifdef CONFIG_CIFS_FSCACHE
457 struct fscache_cookie *fscache; 458 struct fscache_cookie *fscache;
458#endif 459#endif
@@ -573,6 +574,7 @@ struct cifs_fattr {
573 u64 cf_uniqueid; 574 u64 cf_uniqueid;
574 u64 cf_eof; 575 u64 cf_eof;
575 u64 cf_bytes; 576 u64 cf_bytes;
577 u64 cf_createtime;
576 uid_t cf_uid; 578 uid_t cf_uid;
577 gid_t cf_gid; 579 gid_t cf_gid;
578 umode_t cf_mode; 580 umode_t cf_mode;