mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-09 21:04:42 -04:00
nilfs2: convert nilfs_forget_buffer to use a folio
Save two hidden calls to compound_head(). Link: https://lkml.kernel.org/r/20231114084436.2755-5-konishi.ryusuke@gmail.com Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Signed-off-by: Ryusuke Konishi <konishi.ryusuke@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
committed by
Andrew Morton
parent
3cd36212bf
commit
797e25ad10
@@ -73,7 +73,7 @@ struct buffer_head *nilfs_grab_buffer(struct inode *inode,
|
||||
*/
|
||||
void nilfs_forget_buffer(struct buffer_head *bh)
|
||||
{
|
||||
struct page *page = bh->b_page;
|
||||
struct folio *folio = bh->b_folio;
|
||||
const unsigned long clear_bits =
|
||||
(BIT(BH_Uptodate) | BIT(BH_Dirty) | BIT(BH_Mapped) |
|
||||
BIT(BH_Async_Write) | BIT(BH_NILFS_Volatile) |
|
||||
@@ -81,12 +81,12 @@ void nilfs_forget_buffer(struct buffer_head *bh)
|
||||
|
||||
lock_buffer(bh);
|
||||
set_mask_bits(&bh->b_state, clear_bits, 0);
|
||||
if (nilfs_page_buffers_clean(page))
|
||||
__nilfs_clear_page_dirty(page);
|
||||
if (nilfs_page_buffers_clean(&folio->page))
|
||||
__nilfs_clear_page_dirty(&folio->page);
|
||||
|
||||
bh->b_blocknr = -1;
|
||||
ClearPageUptodate(page);
|
||||
ClearPageMappedToDisk(page);
|
||||
folio_clear_uptodate(folio);
|
||||
folio_clear_mappedtodisk(folio);
|
||||
unlock_buffer(bh);
|
||||
brelse(bh);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user