diff options
author | Hugh Dickins <hughd@google.com> | 2012-06-02 00:27:47 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-06-03 20:05:47 -0700 |
commit | 752dc185dacba1edcba425e67fc6df3c7793a5c3 (patch) | |
tree | a2e05a91cff7d1549ba5fcaa3f583339db3412f1 /mm/compaction.c | |
parent | 2f9d3df8aa1cc3c6db5cfa0bad3f0745e04cc27d (diff) | |
download | op-kernel-dev-752dc185dacba1edcba425e67fc6df3c7793a5c3.zip op-kernel-dev-752dc185dacba1edcba425e67fc6df3c7793a5c3.tar.gz |
mm: fix warning in __set_page_dirty_nobuffers
New tmpfs use of !PageUptodate pages for fallocate() is triggering the
WARNING: at mm/page-writeback.c:1990 when __set_page_dirty_nobuffers()
is called from migrate_page_copy() for compaction.
It is anomalous that migration should use __set_page_dirty_nobuffers()
on an address_space that does not participate in dirty and writeback
accounting; and this has also been observed to insert surprising dirty
tags into a tmpfs radix_tree, despite tmpfs not using tags at all.
We should probably give migrate_page_copy() a better way to preserve the
tag and migrate accounting info, when mapping_cap_account_dirty(). But
that needs some more work: so in the interim, avoid the warning by using
a simple SetPageDirty on PageSwapBacked pages.
Reported-and-tested-by: Dave Jones <davej@redhat.com>
Signed-off-by: Hugh Dickins <hughd@google.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/compaction.c')
0 files changed, 0 insertions, 0 deletions