From: Ryusuke Konishi <konishi.ryusuke@gmail.com>
To: "Matthew Wilcox (Oracle)" <willy@infradead.org>
Cc: Andrew Morton <akpm@linux-foundation.org>,
linux-fsdevel@vger.kernel.org, gfs2@lists.linux.dev,
linux-nilfs@vger.kernel.org,
linux-ntfs-dev@lists.sourceforge.net, ntfs3@lists.linux.dev,
ocfs2-devel@lists.linux.dev, reiserfs-devel@vger.kernel.org,
linux-ext4@vger.kernel.org, Pankaj Raghav <p.raghav@samsung.com>
Subject: Re: [PATCH 12/26] nilfs2: Convert nilfs_mdt_forget_block() to use a folio
Date: Wed, 20 Sep 2023 16:25:55 +0900 [thread overview]
Message-ID: <CAKFNMokf=ucSpitwt2sF-nBPJPfL02MmorwXvdcw_h1zEoB7BA@mail.gmail.com> (raw)
In-Reply-To: <20230919045135.3635437-13-willy@infradead.org>
On Tue, Sep 19, 2023 at 3:04 PM Matthew Wilcox (Oracle) wrote:
>
> Remove a number of folio->page->folio conversions.
>
> Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
> ---
> fs/nilfs2/mdt.c | 30 ++++++++++++++----------------
> 1 file changed, 14 insertions(+), 16 deletions(-)
>
> diff --git a/fs/nilfs2/mdt.c b/fs/nilfs2/mdt.c
> index db2260d6e44d..11b7cf4acc92 100644
> --- a/fs/nilfs2/mdt.c
> +++ b/fs/nilfs2/mdt.c
> @@ -356,30 +356,28 @@ int nilfs_mdt_delete_block(struct inode *inode, unsigned long block)
> */
> int nilfs_mdt_forget_block(struct inode *inode, unsigned long block)
> {
> - pgoff_t index = (pgoff_t)block >>
> - (PAGE_SHIFT - inode->i_blkbits);
> - struct page *page;
> - unsigned long first_block;
> + pgoff_t index = block >> (PAGE_SHIFT - inode->i_blkbits);
> + struct folio *folio;
> + struct buffer_head *bh;
> int ret = 0;
> int still_dirty;
>
> - page = find_lock_page(inode->i_mapping, index);
> - if (!page)
> + folio = filemap_lock_folio(inode->i_mapping, index);
> + if (IS_ERR(folio))
> return -ENOENT;
>
> - wait_on_page_writeback(page);
> + folio_wait_writeback(folio);
>
> - first_block = (unsigned long)index <<
> - (PAGE_SHIFT - inode->i_blkbits);
> - if (page_has_buffers(page)) {
> - struct buffer_head *bh;
> -
> - bh = nilfs_page_get_nth_block(page, block - first_block);
> + bh = folio_buffers(folio);
> + if (bh) {
> + unsigned long first_block = index <<
> + (PAGE_SHIFT - inode->i_blkbits);
> + bh = get_nth_bh(bh, block - first_block);
> nilfs_forget_buffer(bh);
> }
> - still_dirty = PageDirty(page);
> - unlock_page(page);
> - put_page(page);
> + still_dirty = folio_test_dirty(folio);
> + folio_unlock(folio);
> + folio_put(folio);
>
> if (still_dirty ||
> invalidate_inode_pages2_range(inode->i_mapping, index, index) != 0)
> --
> 2.40.1
>
Acked-by: Ryusuke Konishi <konishi.ryusuke@gmail.com>
Looks good to me.
Thanks,
Ryusuke Konishi
next prev parent reply other threads:[~2023-09-20 7:25 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-19 4:51 [PATCH 00/26] Finish the create_empty_buffers() transition Matthew Wilcox (Oracle)
2023-09-19 4:51 ` [PATCH 01/26] buffer: Make folio_create_empty_buffers() return a buffer_head Matthew Wilcox (Oracle)
[not found] ` <CGME20230920093952eucas1p1f37c688dc553d6a85882cae29861a870@eucas1p1.samsung.com>
[not found] ` <20230919045135.3635437-2-willy-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2023-09-20 9:39 ` Pankaj Raghav
2023-09-19 4:51 ` [PATCH 02/26] mpage: Convert map_buffer_to_folio() to folio_create_empty_buffers() Matthew Wilcox (Oracle)
[not found] ` <CGME20230920095447eucas1p2fee0541ad835331ff6b4c5143122c341@eucas1p2.samsung.com>
[not found] ` <20230919045135.3635437-3-willy-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2023-09-20 9:54 ` Pankaj Raghav
2023-09-19 4:51 ` [PATCH 03/26] ext4: Convert to folio_create_empty_buffers Matthew Wilcox (Oracle)
[not found] ` <CGME20230920100012eucas1p1f44530cfdd1ff8ed668bfe0c088d31ce@eucas1p1.samsung.com>
2023-09-20 10:00 ` Pankaj Raghav
2023-09-19 4:51 ` [PATCH 07/26] gfs2; Convert gfs2_getjdatabuf to use a folio Matthew Wilcox (Oracle)
2023-09-19 22:27 ` Andreas Gruenbacher
[not found] ` <CAHc6FU4-RSAsc-LWw2OuLDecofapd30OZhxyjVKLXzJNwh-ZoA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2023-09-20 3:11 ` Matthew Wilcox
2023-09-19 4:51 ` [PATCH 10/26] nilfs2: Convert nilfs_grab_buffer() " Matthew Wilcox (Oracle)
[not found] ` <20230919045135.3635437-11-willy-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2023-09-20 4:13 ` Ryusuke Konishi
2023-09-19 4:51 ` [PATCH 11/26] nilfs2: Convert nilfs_copy_page() to nilfs_copy_folio() Matthew Wilcox (Oracle)
2023-09-19 13:01 ` Ryusuke Konishi
[not found] ` <CAKFNMonjfsWBageg6vfWok9vvNEzjhXiqCCb+=cDFuwnTER95A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2023-09-19 13:06 ` Matthew Wilcox
[not found] ` <20230919045135.3635437-12-willy-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2023-09-19 18:59 ` kernel test robot
2023-09-20 5:47 ` Ryusuke Konishi
2023-09-19 4:51 ` [PATCH 12/26] nilfs2: Convert nilfs_mdt_forget_block() to use a folio Matthew Wilcox (Oracle)
2023-09-20 7:25 ` Ryusuke Konishi [this message]
2023-09-19 4:51 ` [PATCH 14/26] nilfs2: Remove nilfs_page_get_nth_block Matthew Wilcox (Oracle)
[not found] ` <20230919045135.3635437-15-willy-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2023-09-20 8:15 ` Ryusuke Konishi
2023-09-19 4:51 ` [PATCH 15/26] nilfs2: Convert nilfs_lookup_dirty_data_buffers to use folio_create_empty_buffers Matthew Wilcox (Oracle)
[not found] ` <20230919045135.3635437-16-willy-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2023-09-20 10:01 ` Ryusuke Konishi
2023-09-19 4:51 ` [PATCH 16/26] ntfs: Convert ntfs_read_block() to use a folio Matthew Wilcox (Oracle)
2023-09-19 4:51 ` [PATCH 18/26] ntfs: Convert ntfs_prepare_pages_for_non_resident_write() to folios Matthew Wilcox (Oracle)
2023-09-19 4:51 ` [PATCH 19/26] ntfs3: Convert ntfs_zero_range() to use a folio Matthew Wilcox (Oracle)
2023-09-19 4:51 ` [PATCH 20/26] ocfs2: Convert ocfs2_map_page_blocks " Matthew Wilcox (Oracle)
[not found] ` <20230919045135.3635437-1-willy-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2023-09-19 4:51 ` [PATCH 04/26] buffer: Add get_nth_bh() Matthew Wilcox (Oracle)
[not found] ` <20230919045135.3635437-5-willy-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2023-09-20 3:40 ` Ryusuke Konishi
2023-09-19 4:51 ` [PATCH 05/26] gfs2: Convert inode unstuffing to use a folio Matthew Wilcox (Oracle)
2023-09-19 22:28 ` Andreas Gruenbacher
2023-09-19 4:51 ` [PATCH 06/26] gfs2: Convert gfs2_getbuf() to folios Matthew Wilcox (Oracle)
2023-09-19 22:34 ` Andreas Gruenbacher
2023-09-19 4:51 ` [PATCH 08/26] gfs2: Convert gfs2_write_buf_to_page() to use a folio Matthew Wilcox (Oracle)
[not found] ` <20230919045135.3635437-9-willy-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2023-09-19 22:32 ` Andreas Gruenbacher
2023-09-19 4:51 ` [PATCH 09/26] nilfs2: Convert nilfs_mdt_freeze_buffer " Matthew Wilcox (Oracle)
[not found] ` <20230919045135.3635437-10-willy-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2023-09-20 3:42 ` Ryusuke Konishi
2023-09-19 4:51 ` [PATCH 13/26] nilfs2: Convert nilfs_mdt_get_frozen_buffer " Matthew Wilcox (Oracle)
2023-09-20 8:07 ` Ryusuke Konishi
2023-09-19 4:51 ` [PATCH 17/26] ntfs: Convert ntfs_writepage " Matthew Wilcox (Oracle)
2023-09-19 4:51 ` [PATCH 21/26] reiserfs: Convert writepage " Matthew Wilcox (Oracle)
2023-09-19 4:51 ` [PATCH 22/26] ufs: Add ufs_get_locked_folio and ufs_put_locked_folio Matthew Wilcox (Oracle)
2023-09-19 4:51 ` [PATCH 23/26] ufs: Use ufs_get_locked_folio() in ufs_alloc_lastblock() Matthew Wilcox (Oracle)
2023-09-19 4:51 ` [PATCH 24/26] ufs; Convert ufs_change_blocknr() to use folios Matthew Wilcox (Oracle)
2023-09-19 4:51 ` [PATCH 25/26] ufs: Remove ufs_get_locked_page() Matthew Wilcox (Oracle)
2023-09-19 4:51 ` [PATCH 26/26] buffer: Remove folio_create_empty_buffers() Matthew Wilcox (Oracle)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAKFNMokf=ucSpitwt2sF-nBPJPfL02MmorwXvdcw_h1zEoB7BA@mail.gmail.com' \
--to=konishi.ryusuke@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=gfs2@lists.linux.dev \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-nilfs@vger.kernel.org \
--cc=linux-ntfs-dev@lists.sourceforge.net \
--cc=ntfs3@lists.linux.dev \
--cc=ocfs2-devel@lists.linux.dev \
--cc=p.raghav@samsung.com \
--cc=reiserfs-devel@vger.kernel.org \
--cc=willy@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).