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 23:43:00 +0000 |
commit | 20054bd65703f7504a9daceabc2a060828fde36c (patch) | |
tree | a15151a2d3a1d8abe1c72701ceb3e9f7051fe6ea /fs/cifs/readdir.c | |
parent | d44a9fe2c8af3fee8edb203e9b11e507851c50fa (diff) | |
download | lwn-20054bd65703f7504a9daceabc2a060828fde36c.tar.gz lwn-20054bd65703f7504a9daceabc2a060828fde36c.zip |
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/readdir.c')
-rw-r--r-- | fs/cifs/readdir.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/cifs/readdir.c b/fs/cifs/readdir.c index ec5b68e3b928..76b1b37c9e6b 100644 --- a/fs/cifs/readdir.c +++ b/fs/cifs/readdir.c @@ -160,6 +160,7 @@ cifs_dir_info_to_fattr(struct cifs_fattr *fattr, FILE_DIRECTORY_INFO *info, fattr->cf_cifsattrs = le32_to_cpu(info->ExtFileAttributes); fattr->cf_eof = le64_to_cpu(info->EndOfFile); fattr->cf_bytes = le64_to_cpu(info->AllocationSize); + fattr->cf_createtime = le64_to_cpu(info->CreationTime); fattr->cf_atime = cifs_NTtimeToUnix(info->LastAccessTime); fattr->cf_ctime = cifs_NTtimeToUnix(info->ChangeTime); fattr->cf_mtime = cifs_NTtimeToUnix(info->LastWriteTime); |