Messages in this thread | | | Date | Tue, 15 Nov 2005 11:15:25 +0000 (GMT) | From | Anton Altaparmakov <> | Subject | Re: [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/
| |