[Samba] Samba bug: 1 out of 387 files off by 1 hour (DST/ST bug)

Linda W samba at tlinx.org
Sat Jul 30 22:57:38 GMT 2005


Summary:
There appears to be a bug in the "time range" Samba is using on
dates where time is scheduled to "Spring Forward" from Standard
to Daylight Savings time.  Might want to review the code for
"Falling back", as well...

Details:

This started out with my thinking it was an rsync problem, but
it appears to be something to do with how samba is exporting the
file time (!? or Windows is reading 1 file).

I have 2 files in a windows directory, /tmp/files: fo1.mp3, fo2.mp3.
I rsynced them to a directory on a linux box running SuSE 9.1
with samba-3.0.9-2.6.

On the linux/samba server, I see times:
target> ll --full-time
total 6264
-rwxr-----  1 user 2532415 2000-04-02 01:34:50.000000000 -0800 fo1.mp3*
-rwxr-----  1 user 3876671 2000-03-12 22:33:20.000000000 -0800 fo2.mp3*

(which are the same times as on the Windows source dir:)
/tmp/files> ll --full-time
total 6272
-rw-r-----  1 user 2532415 2000-04-02 01:34:50.000000000 -0800 fo1.mp3
-rw-r-----  1 user 3876671 2000-03-12 21:33:20.000000000 -0800 fo2.mp3

But, the Win XP's view of the remote files differs on 1 file:
/tmp/files> ll --full-time /k/target/
total 7168
-rw-r-----  1 user 2532415 2000-04-02 00:34:50.000000000 -0800 fo1.mp3
---------------------------------------^
-rw-r-----  1 user 3876671 2000-03-12 21:33:20.000000000 -0800 fo2.mp3

This is 1 file out of 387 that has this problem.

The same problem occurs when I use smbmount on the server to mount the
exported samba share (but mounted by root):

-rwxr-xr-x  1 root 2532415 2000-04-02 00:34:50.000000000 -0800 fo1.mp3
---------------------------------------^
-rwxr-xr-x  1 root 3876671 2000-03-12 21:33:20.000000000 -0800 fo2.mp3
---------
Note -- same time as seen on the Windows box, but this time it is seen
through the linux based "smbmount"ed view.

It seems to be a bug related to the the time changing on that date
from Standard to Daylight Saving Time.  To be more particular, on that
date, times in the range >=2:00AM and <3:00AM would not exist.  It
would appear the code for time checking is using the wrong time range
on that date.

Linda




More information about the samba mailing list