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

Re: [PATCH] update ctime and mtime for mmaped write

From: Peter Staubach <hidden>
Date: 2007-02-22 20:15:12
Also in: linux-fsdevel, lkml

Miklos Szeredi wrote:
quoted
quoted
quoted
Why is the flag checked in __fput()?
    
        
It's because of this bit in the standard:

    If there is no such call and if the underlying file is modified
    as a result of a write reference, then these fields shall be
    marked for update at some time after the write reference.

It could be done in munmap/mremap, but it seemed more difficult to
track down all the places where the vma is removed.  But yes, that may
be a nicer solution.
      
It seems to me that, with this support, a file, which is mmap'd,
modified, but never msync'd or munmap'd, will never get its mtime
updated.  Or did I miss that?

I also don't see how an mmap'd block device will get its mtime
updated either.
    
__fput() will be called when there are no more references to 'file',
then it will update the time if the flag is set.  This applies to
regular files as well as devices.

  
I suspect that you will find that, for a block device, the wrong inode
gets updated.  That's where the bd_inode_update_time() portion of my
proposed patch came from.
But I've moved the check from __fput to remove_vma() in the next
revision of the patch, which would give slightly nicer semantics, and
be equally conforming.
This still does not address the situation where a file is 'permanently'
mmap'd, does it?

    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