if (mapping_cap_account_dirty(mapping)) {
__inc_zone_page_state(page, NR_FILE_DIRTY);
+ __inc_bdi_stat(mapping->backing_dev_info,
+ BDI_RECLAIMABLE);
task_io_account_write(PAGE_CACHE_SIZE);
}
radix_tree_tag_set(&mapping->page_tree,
* The page and buffer_heads can be released at any time from
* here on.
*/
- wbc->pages_skipped++; /* We didn't write this page */
}
return err;
struct page *page, void *fsdata)
{
struct inode *inode = page->mapping->host;
- struct buffer_head *head = NULL;
+ struct buffer_head *head = fsdata;
struct buffer_head *bh;
if (!PageMappedToDisk(page)) {
unlock_page(page);
page_cache_release(page);
- head = fsdata;
while (head) {
bh = head;
head = head->b_this_page;