create time format in EAs

Jeremy Allison jra at
Wed Jan 6 21:38:10 MST 2010

On Thu, Jan 07, 2010 at 03:09:03AM +0100, Björn JACKE wrote:
> On 2010-01-06 at 17:43 -0800 Jeremy Allison sent off:
> > If we have cifs unix extensions with their own custom ns on the
> > wire time format, then they'll map directly into the ns creation
> > times we read from the filesystem. The EA we store is for Windows
> > timestamps with Windows semantics, and I think we should keep it
> > in that format.
> think of a creation time aware posix Client and a Samba Server saving that
> information into EAs ...

Sending the create time across the wire in an NTTIME with
100ns resolution....

Look, we have a hard enough time faking Windows semantics
on top of POSIX. I don't want to have to start faking one
style of POSIX semantics on top of a different POSIX semantic.

If we end up with a POSIX client that uses a protocol (SMB2
with unix extensions ?) that exposes 1ns resolution on the
wire, we will expose the birthtime value from the stat struct.

If POSIX has changed by then to allow setting of the birthtime
(highly unlikely, but lets consider all possibilities) then
if Samba is running on a POSIX system that allows setting
the birthtime then we'll pass it through. If it's running
on a POSIX system that doesn't we'll return ENOTSUPPORTED,
which the POSIX app will have to cope with anyway as it
might be running natively on that kind of system.

There simply is no need to fake a birthtime setting POSIX
system with 1ns resolution on top of a current POSIX system.

There's no defined semantics and no way for a POSIX app to
make interface with it anyway.


More information about the samba-technical mailing list