Messages in this thread | | | Subject | Re: [PATCH -v5 2/2] Updating ctime and mtime at syncing | From | Miklos Szeredi <> | Date | Thu, 17 Jan 2008 13:45:43 +0100 |
| |
> > 4. Recording the time was the file data changed > > > > Finally, I noticed yet another issue with the previous version of my patch. > > Specifically, the time stamps were set to the current time of the moment > > when syncing but not the write reference was being done. This led to the > > following adverse effect on my development system: > > > > 1) a text file A was updated by process B; > > 2) process B exits without calling any of the *sync() functions; > > 3) vi editor opens the file A; > > 4) file data synced, file times updated; > > 5) vi is confused by "thinking" that the file was changed after 3).
Updating the time in remove_vma() would fix this, no?
> > All these changes to inode.c are unnecessary, I think. > > The first part is necessary to account for "remembering" the modification time. > > The second part is for handling block device files. I cannot see any other > sane way to update file times for them.
Use file_update_time(), which will do the right thing. It will in fact do the same thing as write(2) on the device, which is really what we want.
Block devices being mapped for write through different device nodes..., well, I don't think we really need to handle such weird corner cases 100% acurately.
Miklos
| |