Bug 4854 - Close packet contains wrong last modified time
Summary: Close packet contains wrong last modified time
Alias: None
Product: CifsVFS
Classification: Unclassified
Component: kernel fs (show other bugs)
Version: 2.6
Hardware: x86 Linux
: P3 major
Target Milestone: ---
Assignee: Steve French
QA Contact:
Depends on:
Reported: 2007-08-02 15:47 UTC by Yanik Grignon
Modified: 2009-03-07 11:02 UTC (History)
1 user (show)

See Also:

Ethereal trace of a Windows client (39.99 KB, application/octet-stream)
2007-08-02 15:53 UTC, Yanik Grignon
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Yanik Grignon 2007-08-02 15:47:30 UTC
I'm using the cifs kernel module v1.45 to mount a NetApp filer and I noticed that most of my files have their last modified time set to the epoch (Jan 1, 1970 00:00:00 GMT). I tracked this down to the cifs kernel module net setting the right value for the last modified time.

In cifssmb.c in the CIFSSMBClose function, you will find the line below:

pSMB->LastWriteTime = 0;

It should be

pSMB->LastWriteTime = -1;

The SNIA CIFS documentation is wrong on the meaning of value 0.
Comment 1 Yanik Grignon 2007-08-02 15:53:43 UTC
Created attachment 2849 [details]
Ethereal trace of a Windows client

Notice the value supplied by the XP client for the "Last Write" field on CLOSE request packets.
Comment 2 shirishpargaonkar@gmail.com 2009-01-20 14:52:03 UTC
This is now fixed.  The value of LasWriteTime is now -1.
Comment 3 Steve French 2009-01-20 16:28:43 UTC
Fixed - code has been doing

pSMB->LastWriteTime = 0xFFFFFFFF;

in SMBClose for quite a while now