The right way to do things would be to just do a stat() on the index file
as it is created, and then save the mtime of that stat into the file. That
way, you have the mtime of the index file not for the *last* write, but
for the *first* one.
Sorry, but if we're assuming no one is touching the files while we're
updating the index (including writing it to disk), why does it matter
whether we use the time of first or last write? In fact, if a index
write takes a long time, using the last write time as the mtime would
be beneficial for the race condition stuff.
-Ben