diff options
author | Jeff Layton <jlayton@redhat.com> | 2011-01-07 11:30:27 -0500 |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2011-01-09 18:43:00 -0500 |
commit | 20054bd65703f7504a9daceabc2a060828fde36c (patch) | |
tree | a15151a2d3a1d8abe1c72701ceb3e9f7051fe6ea /fs/cifs/cifsglob.h | |
parent | d44a9fe2c8af3fee8edb203e9b11e507851c50fa (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.h | 2 |
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; |