Re: [PATCH ] Fix some problems with truncate and mtime semantics.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux