Thread (2 messages) 2 messages, 2 authors, 2007-02-21

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>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help