Message ID | 20230919045135.3635437-11-willy@infradead.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Finish the create_empty_buffers() transition | expand |
On Tue, Sep 19, 2023 at 7:20 PM Matthew Wilcox (Oracle) wrote: > > Remove a number of folio->page->folio conversions. > > Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> > --- > fs/nilfs2/page.c | 26 +++++++++++++------------- > 1 file changed, 13 insertions(+), 13 deletions(-) > > diff --git a/fs/nilfs2/page.c b/fs/nilfs2/page.c > index b4e54d079b7d..1c075bd906c9 100644 > --- a/fs/nilfs2/page.c > +++ b/fs/nilfs2/page.c > @@ -25,19 +25,19 @@ > (BIT(BH_Uptodate) | BIT(BH_Mapped) | BIT(BH_NILFS_Node) | \ > BIT(BH_NILFS_Volatile) | BIT(BH_NILFS_Checked)) > > -static struct buffer_head * > -__nilfs_get_page_block(struct page *page, unsigned long block, pgoff_t index, > - int blkbits, unsigned long b_state) > +static struct buffer_head *__nilfs_get_folio_block(struct folio *folio, > + unsigned long block, pgoff_t index, int blkbits, > + unsigned long b_state) > > { > unsigned long first_block; > - struct buffer_head *bh; > + struct buffer_head *bh = folio_buffers(folio); > > - if (!page_has_buffers(page)) > - create_empty_buffers(page, 1 << blkbits, b_state); > + if (!bh) > + bh = folio_create_empty_buffers(folio, 1 << blkbits, b_state); > > first_block = (unsigned long)index << (PAGE_SHIFT - blkbits); > - bh = nilfs_page_get_nth_block(page, block - first_block); > + bh = get_nth_bh(bh, block - first_block); > > touch_buffer(bh); > wait_on_buffer(bh); > @@ -51,17 +51,17 @@ struct buffer_head *nilfs_grab_buffer(struct inode *inode, > { > int blkbits = inode->i_blkbits; > pgoff_t index = blkoff >> (PAGE_SHIFT - blkbits); > - struct page *page; > + struct folio *folio; > struct buffer_head *bh; > > - page = grab_cache_page(mapping, index); > - if (unlikely(!page)) > + folio = filemap_grab_folio(mapping, index); > + if (IS_ERR(folio)) > return NULL; > > - bh = __nilfs_get_page_block(page, blkoff, index, blkbits, b_state); > + bh = __nilfs_get_folio_block(folio, blkoff, index, blkbits, b_state); > if (unlikely(!bh)) { > - unlock_page(page); > - put_page(page); > + folio_unlock(folio); > + folio_put(folio); > return NULL; > } > return bh; > -- > 2.40.1 > Acked-by: Ryusuke Konishi <konishi.ryusuke@gmail.com> Looks good to me. Thanks, Ryusuke Konishi
diff --git a/fs/nilfs2/page.c b/fs/nilfs2/page.c index b4e54d079b7d..1c075bd906c9 100644 --- a/fs/nilfs2/page.c +++ b/fs/nilfs2/page.c @@ -25,19 +25,19 @@ (BIT(BH_Uptodate) | BIT(BH_Mapped) | BIT(BH_NILFS_Node) | \ BIT(BH_NILFS_Volatile) | BIT(BH_NILFS_Checked)) -static struct buffer_head * -__nilfs_get_page_block(struct page *page, unsigned long block, pgoff_t index, - int blkbits, unsigned long b_state) +static struct buffer_head *__nilfs_get_folio_block(struct folio *folio, + unsigned long block, pgoff_t index, int blkbits, + unsigned long b_state) { unsigned long first_block; - struct buffer_head *bh; + struct buffer_head *bh = folio_buffers(folio); - if (!page_has_buffers(page)) - create_empty_buffers(page, 1 << blkbits, b_state); + if (!bh) + bh = folio_create_empty_buffers(folio, 1 << blkbits, b_state); first_block = (unsigned long)index << (PAGE_SHIFT - blkbits); - bh = nilfs_page_get_nth_block(page, block - first_block); + bh = get_nth_bh(bh, block - first_block); touch_buffer(bh); wait_on_buffer(bh); @@ -51,17 +51,17 @@ struct buffer_head *nilfs_grab_buffer(struct inode *inode, { int blkbits = inode->i_blkbits; pgoff_t index = blkoff >> (PAGE_SHIFT - blkbits); - struct page *page; + struct folio *folio; struct buffer_head *bh; - page = grab_cache_page(mapping, index); - if (unlikely(!page)) + folio = filemap_grab_folio(mapping, index); + if (IS_ERR(folio)) return NULL; - bh = __nilfs_get_page_block(page, blkoff, index, blkbits, b_state); + bh = __nilfs_get_folio_block(folio, blkoff, index, blkbits, b_state); if (unlikely(!bh)) { - unlock_page(page); - put_page(page); + folio_unlock(folio); + folio_put(folio); return NULL; } return bh;
Remove a number of folio->page->folio conversions. Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> --- fs/nilfs2/page.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-)