Bug 804121
Summary: | The smbclient(1) tar -T command does not preserve some file modification times during Daylight Savings time | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 5 | Reporter: | Todd Zervas <todd> |
Component: | samba3x | Assignee: | Guenther Deschner <gdeschner> |
Status: | CLOSED NOTABUG | QA Contact: | qe-baseos-daemons |
Severity: | low | Docs Contact: | |
Priority: | unspecified | ||
Version: | 5.8 | CC: | prc, sbose, todd |
Target Milestone: | rc | ||
Target Release: | --- | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2012-06-02 08:47:24 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Todd Zervas
2012-03-16 15:13:11 UTC
Hello, Can you reproduce this behaviour also against non-EMC cifs servers like samba? Thanks I do not have access to a samba server. I tested a Windows XP server (OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]) and it works correctly. The time correction value is applied in step #5 and is applied again in step #7 which results in times matching between the two archives (as expected). Ok, thank you. In that case I would strongly suspect that your EMC NAS server does something wrong - you just tested that the Samba client tool works correctly with a "standard" Windows CIFS server. You should contact EMC and ask them for a solution or a possible workaround. Did you get any feedback from EMC about this issue? EMC referred me to their problem PR00012809. I will need to update my EMC SAN device to apply this fix. PR00012809 Daylight savings changes cause all files to be transferred PROBLEM: In a heterogeneous environment (e.g. transferring from Microsoft Windows to UNIX), after daylight saving time changes, all files are transferred even if the check type is based on the modify time of the files and those files have NOT changed. This is due to a well-known Microsoft Windows time implementation feature with a less well-known solution. Here are some interesting resources on the issue: The article at this URL: http://www.codeproject.com/datetime/dstbugs.asp How PERL works around the issue click here. FIX: It turns out that NTFS actually stores the file times in UTC. It is Microsoft Windows display of these times that is incorrect. Microsoft Windows applies the UTC bias for the local timezone at the time the conversion call is made rather than at the time represented by the UTC value. This causes the displayed time to change whenever a standard to daylight or daylight to standard time transition occurs. Our previous code attempted to make the displayed times be the same when files were transferred from Microsoft Windows to UNIX or UNIX to Microsoft Windows. Made the code changes to do the conversion simply by adding or subtracting the time between the two epochs. This should eliminate the transfer of all the files when the time transition occurs. One complication is that the FAT file system does store the file times as local time so there may be a screw up if transferring form NTFS to FAT (or not - this needs testing). It is possible to determine if the file system used local or UTC time, but the call to check the file system type multiplies the time required to do the conversion by a factor of 60 (not 60% but 60 times), so we won't be doing that. We will just assume that all file times are in UTC. Also works correctly on OS=[Windows Server 2003 R2 3790 Service Pack 2] Server=[Windows Server 2003 R2 5.2]. This does not seem to be a samba issue at all. Can we close this bug? Yes, you can close this bug. |