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>
This commit is contained in:
parent
667984d9e4
commit
8f7b3d156d
|
@ -1670,6 +1670,9 @@ gotten:
|
||||||
unlock:
|
unlock:
|
||||||
pte_unmap_unlock(page_table, ptl);
|
pte_unmap_unlock(page_table, ptl);
|
||||||
if (dirty_page) {
|
if (dirty_page) {
|
||||||
|
if (vma->vm_file)
|
||||||
|
file_update_time(vma->vm_file);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Yes, Virginia, this is actually required to prevent a race
|
* Yes, Virginia, this is actually required to prevent a race
|
||||||
* with clear_page_dirty_for_io() from clearing the page dirty
|
* with clear_page_dirty_for_io() from clearing the page dirty
|
||||||
|
@ -2343,6 +2346,9 @@ out_unlocked:
|
||||||
if (anon)
|
if (anon)
|
||||||
page_cache_release(vmf.page);
|
page_cache_release(vmf.page);
|
||||||
else if (dirty_page) {
|
else if (dirty_page) {
|
||||||
|
if (vma->vm_file)
|
||||||
|
file_update_time(vma->vm_file);
|
||||||
|
|
||||||
set_page_dirty_balance(dirty_page, page_mkwrite);
|
set_page_dirty_balance(dirty_page, page_mkwrite);
|
||||||
put_page(dirty_page);
|
put_page(dirty_page);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue