diff options
author | Steve French <sfrench@us.ibm.com> | 2006-11-16 22:48:25 +0000 |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2006-11-16 22:48:25 +0000 |
commit | 8d6286fdfd290589f8446ec1503702227263dcfd (patch) | |
tree | 6718bde84f4a0f5241123d37c96a150040998235 /fs/cifs/inode.c | |
parent | 31ec35d6c81175016a6372571eab23b6bd40b406 (diff) | |
download | op-kernel-dev-8d6286fdfd290589f8446ec1503702227263dcfd.zip op-kernel-dev-8d6286fdfd290589f8446ec1503702227263dcfd.tar.gz |
[CIFS] Fix timezone handling on stat to os/2
We were adjusting for timezone on readdir but not on stat
Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'fs/cifs/inode.c')
-rw-r--r-- | fs/cifs/inode.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c index 1ad8c9f..c4fa91b 100644 --- a/fs/cifs/inode.c +++ b/fs/cifs/inode.c @@ -318,6 +318,7 @@ int cifs_get_inode_info(struct inode **pinode, struct cifs_sb_info *cifs_sb = CIFS_SB(sb); char *tmp_path; char *buf = NULL; + int adjustTZ = FALSE; pTcon = cifs_sb->tcon; cFYI(1,("Getting info on %s", search_path)); @@ -348,6 +349,7 @@ int cifs_get_inode_info(struct inode **pinode, pfindData, cifs_sb->local_nls, cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MAP_SPECIAL_CHR); + adjustTZ = TRUE; } } @@ -444,6 +446,10 @@ int cifs_get_inode_info(struct inode **pinode, inode->i_ctime = cifs_NTtimeToUnix(le64_to_cpu(pfindData->ChangeTime)); cFYI(0, ("Attributes came in as 0x%x", attr)); + if(adjustTZ && (pTcon->ses) && (pTcon->ses->server)) { + inode->i_ctime.tv_sec += pTcon->ses->server->timeAdj; + inode->i_mtime.tv_sec += pTcon->ses->server->timeAdj; + } /* set default mode. will override for dirs below */ if (atomic_read(&cifsInfo->inUse) == 0) |