lkml.org 
[lkml]   [2005]   [Nov]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH ] Fix some problems with truncate and mtime semantics.
On Mon, 14 Nov 2005, Trond Myklebust wrote:
> On Tue, 2005-11-15 at 13:00 +1100, NeilBrown wrote:
> > Resubmitting this patch to fix truncate/mtime semantics.
> >
> > It is against 2.6.14-mm2 and is probably suitable for 2.6.15, but can
> > be held over to 2.6.16 if you are feeling cautious.
> >
> > NeilBrown
> >
> > ### Comments for Changeset
> >
> > SUS requires that when truncating a file to the size that it currently
> > is:
> > truncate and ftruncate should NOT modify ctime or mtime
> > O_EXCL SHOULD modify ctime and mtime.
> ^^^^^ O_CREAT ;-)

O_TRUNC actually ;-) See:

http://www.opengroup.org/onlinepubs/009695399/functions/open.html

<quote>
If O_CREAT is set and the file did not previously exist, upon successful
completion, open() shall mark for update the st_atime, st_ctime, and
st_mtime fields of the file and the st_ctime and st_mtime fields of the
parent directory.

If O_TRUNC is set and the file did previously exist, upon successful
completion, open() shall mark for update the st_ctime and st_mtime fields
of the file.
</quote>

Given we are talking about truncate, we only care about O_TRUNC.
O_CREAT/O_EXCL of course set A/C/M time as the file is newly created and
hence all three values are set to the current system time!

> > Currently mtime and ctime are always modified on most local
> > filesystems (side effect of ->truncate) or never modified (on NFS).
> >
> > With this patch:
> > ATTR_CTIME|ATTR_MTIME are sent with ATTR_SIZE precisely when
> > an update of these times is required whether size changes or not
> > (via a new argument to do_truncate). This allows NFS to do
> > the right thing for O_EXCL.
> ^^^^^

O_TRUNC...

Best regards,

Anton
--
Anton Altaparmakov <aia21 at cam.ac.uk> (replace at with @)
Unix Support, Computing Service, University of Cambridge, CB2 3QH, UK
Linux NTFS maintainer / IRC: #ntfs on irc.freenode.net
WWW: http://linux-ntfs.sf.net/ & http://www-stu.christs.cam.ac.uk/~aia21/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-11-15 12:18    [W:0.075 / U:0.296 seconds]
©2003-2014 Jasper Spaans. Advertise on this site