we have a regression here - don't know when this one crept in. At least when using "Version 3.4.0pre2-GIT-4368df8-test" - but i'm sure other versions are also affected - (at least) last mod time is not preserved when "unix extensions = yes" Using the most recent (git) cifs vfs module: cp -p srcfile /mnt/latest/samba_srv/ does _not_ preserve time stamps as it should/must do. I already spent hours with this one - not being always sure whether it's a cifs or samba server issue (I know think it's a server issue). The following debug10 log and the wireshark trace was taken when using the following mount cmd: mount -t cifs //server/share /mnt/tmp -o user=gk,pass=secret,noacl Note: I used the "noacl" option to avoid _any_ further acl interaction, which is pointless here (allowing acls just add some additional network frames/debug entries - not related at all here). Cheers, Günter
Created attachment 4369 [details] debug 10 log
Created attachment 4370 [details] wireshark sniff
I think I see the problem here. I think this is a blocker for 3.4.0. Jeremy.
Created attachment 4378 [details] Patch for master and 3.4.0 Kukks, please test this patch asap. Thanks, Jeremy.
Created attachment 4379 [details] Patch for 3.3 and 3.2. Modified patch for 3.3 and 3.2. Jeremy.
Jeremy, applied your patch to Version 3.4.0-GIT-95c90fa-test. Unfortunately no change in error behaviour... I'll upload a new debug10. Cheers, Günter
Thanks - should have worked :-). I'll get on this immediately today. Jeremy.
Created attachment 4384 [details] new debug10 log after jra's patch applied
I need to see the result of the "stat" command from the local file being copied to the samba share so I know what the timestamps should be set to before I can make sense of this log. Thanks, Jeremy.
stat of original file on the client side: File: `tst.tst' Size: 1024 Blocks: 8 IO Block: 4096 regular file Device: 306h/774d Inode: 1223812 Links: 1 Access: (0666/-rw-rw-rw-) Uid: ( 1000/ gk) Gid: ( 100/ users) Access: 2009-07-01 05:04:38.000000000 +0200 Modify: 1988-10-10 18:53:33.000000000 +0100 Change: 2008-06-01 03:39:08.000000000 +0200 Cheers, Günter
Created attachment 4388 [details] Replacement patch for 3.4.0 and master Ok, this patch allows pending modtimes on all handles to be removed when an explicit time modification is done on a file name, as well as a handle. Kukks, please check this with the latest CIFSFS. Thanks, Jeremy.
Created attachment 4389 [details] debug10 log after jra's 2nd patch
Created attachment 4391 [details] Replacement patch for 3.3 and 3.2. This fix should work for 3.3/3.2. Jeremy.
it was my fault taking Jeremy's "fixing" time longer as needed. I deeply apologize for that. Both fixes from Jeremy: samba 3.4.x samba 3.3.x now work here! BTW - i've only tested 3.4.x and 3.3.x (_not_ 3.2.x!) Congrats to Jeremy! :-) Cheers, Günter
Pushed patches to v3-4-test, v3-3-test and v3-2-test. Thanks!