diff options
author | Steve French <sfrench@us.ibm.com> | 2006-10-06 21:47:09 +0000 |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2006-10-06 21:47:09 +0000 |
commit | 268f3be177ce93791da38facc34126b5038cd851 (patch) | |
tree | 93603e3ac7209dd390125d8c71cfaee3ceff7547 /fs/cifs/readdir.c | |
parent | 1a70d6529ad9f5978af846440f8a809784d6e813 (diff) | |
download | lwn-268f3be177ce93791da38facc34126b5038cd851.tar.gz lwn-268f3be177ce93791da38facc34126b5038cd851.zip |
[CIFS] readdir (ffirst) enablement of accurate timestamps from legacy servers
Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'fs/cifs/readdir.c')
-rw-r--r-- | fs/cifs/readdir.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/fs/cifs/readdir.c b/fs/cifs/readdir.c index b0e5db10664c..81e7b2e5fb4d 100644 --- a/fs/cifs/readdir.c +++ b/fs/cifs/readdir.c @@ -139,19 +139,19 @@ static void fill_in_inode(struct inode *tmp_inode, int new_buf_type, FIND_FILE_STANDARD_INFO * pfindData = (FIND_FILE_STANDARD_INFO *)buf; -/* ts = cnvrtDosUnixTm( + tmp_inode->i_mtime = cnvrtDosUnixTm( le16_to_cpu(pfindData->LastWriteDate), - le16_to_cpu(pfindData->LastWriteTime));*/ + le16_to_cpu(pfindData->LastWriteTime)); + tmp_inode->i_atime = cnvrtDosUnixTm( + le16_to_cpu(pfindData->LastAccessDate), + le16_to_cpu(pfindData->LastAccessTime)); + tmp_inode->i_ctime = cnvrtDosUnixTm( + le16_to_cpu(pfindData->LastWriteDate), + le16_to_cpu(pfindData->LastWriteTime)); + attr = le16_to_cpu(pfindData->Attributes); allocation_size = le32_to_cpu(pfindData->AllocationSize); end_of_file = le32_to_cpu(pfindData->DataSize); - /* do not need to use current_fs_time helper function since - time not stored for this case so atime can not "go backwards" - by pulling newer older from disk when inode refrenshed */ - tmp_inode->i_atime = CURRENT_TIME; - /* tmp_inode->i_mtime = BB FIXME - add dos time handling - tmp_inode->i_ctime = 0; BB FIXME */ - } /* Linux can not store file creation time unfortunately so ignore it */ |