mirror of
https://github.com/torvalds/linux.git
synced 2024-11-27 06:31:52 +00:00
[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>
This commit is contained in:
parent
31ec35d6c8
commit
8d6286fdfd
@ -318,6 +318,7 @@ int cifs_get_inode_info(struct inode **pinode,
|
|||||||
struct cifs_sb_info *cifs_sb = CIFS_SB(sb);
|
struct cifs_sb_info *cifs_sb = CIFS_SB(sb);
|
||||||
char *tmp_path;
|
char *tmp_path;
|
||||||
char *buf = NULL;
|
char *buf = NULL;
|
||||||
|
int adjustTZ = FALSE;
|
||||||
|
|
||||||
pTcon = cifs_sb->tcon;
|
pTcon = cifs_sb->tcon;
|
||||||
cFYI(1,("Getting info on %s", search_path));
|
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,
|
pfindData, cifs_sb->local_nls,
|
||||||
cifs_sb->mnt_cifs_flags &
|
cifs_sb->mnt_cifs_flags &
|
||||||
CIFS_MOUNT_MAP_SPECIAL_CHR);
|
CIFS_MOUNT_MAP_SPECIAL_CHR);
|
||||||
|
adjustTZ = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -444,6 +446,10 @@ int cifs_get_inode_info(struct inode **pinode,
|
|||||||
inode->i_ctime =
|
inode->i_ctime =
|
||||||
cifs_NTtimeToUnix(le64_to_cpu(pfindData->ChangeTime));
|
cifs_NTtimeToUnix(le64_to_cpu(pfindData->ChangeTime));
|
||||||
cFYI(0, ("Attributes came in as 0x%x", attr));
|
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 */
|
/* set default mode. will override for dirs below */
|
||||||
if (atomic_read(&cifsInfo->inUse) == 0)
|
if (atomic_read(&cifsInfo->inUse) == 0)
|
||||||
|
Loading…
Reference in New Issue
Block a user