summaryrefslogtreecommitdiff
path: root/fs/cifs/readdir.c
diff options
context:
space:
mode:
authorSteve French <sfrench@us.ibm.com>2006-10-06 21:47:09 +0000
committerSteve French <sfrench@us.ibm.com>2006-10-06 21:47:09 +0000
commit268f3be177ce93791da38facc34126b5038cd851 (patch)
tree93603e3ac7209dd390125d8c71cfaee3ceff7547 /fs/cifs/readdir.c
parent1a70d6529ad9f5978af846440f8a809784d6e813 (diff)
downloadlwn-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.c18
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 */