diff options
author | Anton Salikhmetov <salikhmetov@gmail.com> | 2008-01-23 02:21:18 +0300 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-01-23 09:58:55 -0800 |
commit | 8f7b3d156d348b6766833cd4e272d0d19b501e64 (patch) | |
tree | 7569825ce2b5e95213d2b5abd2491f7b1667bdc2 /mm/memory.c | |
parent | 667984d9e481e43a930a478c588dced98cb61fea (diff) | |
download | op-kernel-dev-8f7b3d156d348b6766833cd4e272d0d19b501e64.zip op-kernel-dev-8f7b3d156d348b6766833cd4e272d0d19b501e64.tar.gz |
Update ctime and mtime for memory-mapped files
Update ctime and mtime for memory-mapped files at a write access on
a present, read-only PTE, as well as at a write on a non-present PTE.
Signed-off-by: Anton Salikhmetov <salikhmetov@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/memory.c')
-rw-r--r-- | mm/memory.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/mm/memory.c b/mm/memory.c index 6dd1cd8..4b0144b 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -1670,6 +1670,9 @@ gotten: unlock: pte_unmap_unlock(page_table, ptl); if (dirty_page) { + if (vma->vm_file) + file_update_time(vma->vm_file); + /* * Yes, Virginia, this is actually required to prevent a race * with clear_page_dirty_for_io() from clearing the page dirty @@ -2343,6 +2346,9 @@ out_unlocked: if (anon) page_cache_release(vmf.page); else if (dirty_page) { + if (vma->vm_file) + file_update_time(vma->vm_file); + set_page_dirty_balance(dirty_page, page_mkwrite); put_page(dirty_page); } |