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

Pages in the page cache belonging to ext3 data files are released via
the ext3_releasepage() function specified in the ext3 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 try_to_free_pages() function which calls
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/ext3/super.c