Update ctime and mtime for memory-mapped files
authorAnton Salikhmetov <salikhmetov@gmail.com>
Tue, 22 Jan 2008 23:21:18 +0000 (02:21 +0300)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Wed, 23 Jan 2008 17:58:55 +0000 (09:58 -0800)
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>
mm/memory.c

index 6dd1cd88bfb67411767b28e0cdc11a35b52fc92a..4b0144b24c123681dcd9e95e715ae56b009355d7 100644 (file)
@@ -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);
        }