Re: [PATCH] update ctime and mtime for mmaped write
From: Peter Staubach <hidden>
Date: 2007-02-21 18:55:36
Also in:
linux-fsdevel, lkml
Miklos Szeredi wrote:
quoted
quoted
Inspired by Peter Staubach's patch and the resulting comments.An updated version of the original patch was submitted to LKML yesterday... :-)Strange coincidence :)quoted
quoted
file = vma->vm_file; start = vma->vm_end; + mapping_update_time(file); if ((flags & MS_SYNC) && file && (vma->vm_flags & VM_SHARED)) { get_file(file);It seems to me that this might lead to file times being updated for non-MAP_SHARED mappings.In theory no, because the COW-ed pages become anonymous and are not part of the original mapping any more.
I must profess to having a incomplete understanding of all of this support, but then why would it be necessary to test VM_SHARED at this point in msync()? I ran into problems early on with file times being updated incorrectly so I am a little sensitive this aspect.
quoted
quoted
+int set_page_dirty_mapping(struct page *page);This aspect of the design seems intrusive to me. I didn't see a strong reason to introduce new versions of many of the routines just to handle these semantics. What motivated this part of your design? Why the new _mapping versions of routines?Because there's no way to know inside the set_page_dirty() functions if the dirtying comes from a memory mapping or from a modification through a normal write(). And they have different semantics, for write() the modification times are updated immediately.
Perhaps I didn't understand what page_mapped() does, but it does seem to
have the right semantics as far as I could see.
Thanx...
ps
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>