ext4: provide function to release metadata pages under memory pressure
authorToshiyuki Okajima <toshi.okajima@jp.fujitsu.com>
Tue, 6 Jan 2009 03:38:48 +0000 (22:38 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Tue, 6 Jan 2009 03:38:48 +0000 (22:38 -0500)
commitc39a7f84d7845aa95d1c7c168f38215aedcc13c2
tree3e9d741df74eef7e6438dfd9a7ab5a32dd5a5501
parent6b082b531228c43d454c082fc0f969da1695b060
ext4: provide function to release metadata pages under memory pressure

Pages in the page cache belonging to ext4 data files are released via
the ext4_releasepage() function specified in the ext4 inode's
address_space_ops.  However, metadata blocks (such as indirect blocks,
directory blocks, etc) are managed via the block device
address_space_ops, and they can not be released by
try_to_free_buffers() if they have a journal head attached to them.

To address this, we supply a release_metadata function which calls
jbd2_journal_try_to_free_buffers() function to free the metadata, and
which is called by the block device's blkdev_releasepage() function.

Signed-off-by: Toshiyuki Okajima <toshi.okajima@jp.fujitsu.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Cc: linux-fsdevel@vger.kernel.org
fs/ext4/super.c