diff options
Diffstat (limited to 'fs/jbd2/commit.c')
| -rw-r--r-- | fs/jbd2/commit.c | 33 | 
1 files changed, 2 insertions, 31 deletions
diff --git a/fs/jbd2/commit.c b/fs/jbd2/commit.c index 4810438b7856..b33155dd7001 100644 --- a/fs/jbd2/commit.c +++ b/fs/jbd2/commit.c @@ -63,16 +63,12 @@ static void journal_end_buffer_io_sync(struct buffer_head *bh, int uptodate)  static void release_buffer_page(struct buffer_head *bh)  {  	struct folio *folio; -	struct page *page;  	if (buffer_dirty(bh))  		goto nope;  	if (atomic_read(&bh->b_count) != 1)  		goto nope; -	page = bh->b_page; -	if (!page) -		goto nope; -	folio = page_folio(page); +	folio = bh->b_folio;  	if (folio->mapping)  		goto nope; @@ -181,31 +177,6 @@ static int journal_wait_on_commit_record(journal_t *journal,  	return ret;  } -/* - * write the filemap data using writepage() address_space_operations. - * We don't do block allocation here even for delalloc. We don't - * use writepages() because with delayed allocation we may be doing - * block allocation in writepages(). - */ -int jbd2_journal_submit_inode_data_buffers(struct jbd2_inode *jinode) -{ -	struct address_space *mapping = jinode->i_vfs_inode->i_mapping; -	struct writeback_control wbc = { -		.sync_mode =  WB_SYNC_ALL, -		.nr_to_write = mapping->nrpages * 2, -		.range_start = jinode->i_dirty_start, -		.range_end = jinode->i_dirty_end, -	}; - -	/* -	 * submit the inode data buffers. We use writepage -	 * instead of writepages. Because writepages can do -	 * block allocation with delalloc. We need to write -	 * only allocated blocks here. -	 */ -	return generic_writepages(mapping, &wbc); -} -  /* Send all the data buffers related to an inode */  int jbd2_submit_inode_data(journal_t *journal, struct jbd2_inode *jinode)  { @@ -1040,7 +1011,7 @@ restart_loop:  			 * already detached from the mapping and buffers cannot  			 * get reused.  			 */ -			mapping = READ_ONCE(bh->b_page->mapping); +			mapping = READ_ONCE(bh->b_folio->mapping);  			if (mapping && !sb_is_blkdev_sb(mapping->host->i_sb)) {  				clear_buffer_mapped(bh);  				clear_buffer_new(bh);  |