On Tue, 10 Jun 2008, Ben Lynn wrote:
Ah, I hadn't seen that. Yes, it is better to use the first write as
the timestamp. Would this catch everything? If the filesystem clock is
monotonically increasing and consistent then with this setup, you can
touch files even as they are being indexed? (Disregarding nonsense
like changing sizes by 2^32.)
Yes, I think that at that point it would protect against arbitrary
modifications even concurrently to index file creation.
That said, I don't think you even need a new index file format. We could
just do a stat() on starting the index file creation, and then do a
futimes() system call at the end to re-set the mtime to the beginning
before we rename it back over the old index file.
Linus