smbd: implement the strange write time update logic
authorStefan Metzmacher <metze@samba.org>
Wed, 12 Mar 2008 14:39:38 +0000 (15:39 +0100)
committerKarolin Seeger <kseeger@samba.org>
Sat, 12 Apr 2008 05:48:24 +0000 (07:48 +0200)
commit55b6fc1f75ead24258f38d0c8c2088a1899c154b
tree313f5640839603bfb9b081e67508f9a4bc5e223f
parent08906a082e526182ed87883a18c9f45de19d6ed2
smbd: implement the strange write time update logic

We now never call file_ntimes() directly, every update
is done via smb_set_file_time().

This let samba3 pass the BASE-DELAYWRITE test.

The write time is only updated 2 seconds after the
first write() on any open handle to the current time
(not the time of the first write).

Each handle which had write requests updates the write
time to the current time on close().

If the write time is set explicit via setfileinfo or setpathinfo
the write time is visible directly and a following close
on the same handle doesn't update the write time.

metze
(cherry picked from commit 2eab212ea2e1bfd8fa716c2c89b2c042f7ba12ea)
source/include/smb.h
source/smbd/close.c
source/smbd/dir.c
source/smbd/dosmode.c
source/smbd/fileio.c
source/smbd/files.c
source/smbd/nttrans.c
source/smbd/reply.c
source/smbd/trans2.c