diff options
author | Cyrill Gorcunov <gorcunov@openvz.org> | 2014-06-04 19:06:42 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-06-04 19:53:56 -0400 |
commit | b43790eedd31e9535b89bbfa45793919e9504c34 (patch) | |
tree | 0f4d6ec0924004f7fd924b2f248d9256af0807aa /mm/rmap.c | |
parent | 0bf073315cb29d2e9e68b6c5da97862a519e3320 (diff) |
mm: softdirty: don't forget to save file map softdiry bit on unmap
pte_file_mksoft_dirty operates with argument passed by a value and
returns modified result thus we need to assign @ptfile here, otherwise
itis a no-op which may lead to loss of the softdirty bit.
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Cc: Pavel Emelyanov <xemul@parallels.com>
Cc: Hugh Dickins <hughd@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/rmap.c')
-rw-r--r-- | mm/rmap.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -1361,7 +1361,7 @@ static int try_to_unmap_cluster(unsigned long cursor, unsigned int *mapcount, | |||
1361 | if (page->index != linear_page_index(vma, address)) { | 1361 | if (page->index != linear_page_index(vma, address)) { |
1362 | pte_t ptfile = pgoff_to_pte(page->index); | 1362 | pte_t ptfile = pgoff_to_pte(page->index); |
1363 | if (pte_soft_dirty(pteval)) | 1363 | if (pte_soft_dirty(pteval)) |
1364 | pte_file_mksoft_dirty(ptfile); | 1364 | ptfile = pte_file_mksoft_dirty(ptfile); |
1365 | set_pte_at(mm, address, pte, ptfile); | 1365 | set_pte_at(mm, address, pte, ptfile); |
1366 | } | 1366 | } |
1367 | 1367 | ||