Force page->private removal in btrfs_invalidatepage
authorChris Mason <chris.mason@oracle.com>
Fri, 18 Apr 2008 20:11:30 +0000 (16:11 -0400)
committerChris Mason <chris.mason@oracle.com>
Thu, 25 Sep 2008 15:04:02 +0000 (11:04 -0400)
commit9ad6b7bc2e00ba02f915cffd5b6bcd6564bb2c75
tree8a07ab45a145ac723bdfe011a187d09eb0cc2803
parent0afbaf8c8216a0de64b55c2d455de2b6c9dde5eb
Force page->private removal in btrfs_invalidatepage

btrfs_invalidatepage is not allowed to leave pages around on the lru.
Any such pages will trigger an oops later on because the VM will see
page->private and assume it is a buffer head.

This also forces extra flushes of the async work queues before
dropping all the pages on the btree inode during unmount.  Left over
items on the work queues are one possible cause of busy state ranges
during truncate_inode_pages.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
fs/btrfs/disk-io.c
fs/btrfs/inode.c