ntfs3.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: Zhang Yi <yi.zhang@huawei.com>
To: <linux-ext4@vger.kernel.org>, <linux-fsdevel@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>, <cluster-devel@redhat.com>,
	<ntfs3@lists.linux.dev>, <ocfs2-devel@oss.oracle.com>,
	<reiserfs-devel@vger.kernel.org>
Cc: <jack@suse.cz>, <tytso@mit.edu>, <akpm@linux-foundation.org>,
	<axboe@kernel.dk>, <viro@zeniv.linux.org.uk>,
	<rpeterso@redhat.com>, <agruenba@redhat.com>,
	<almaz.alexandrovich@paragon-software.com>, <mark@fasheh.com>,
	<dushistov@mail.ru>, <hch@infradead.org>, <yi.zhang@huawei.com>,
	<chengzhihao1@huawei.com>, <yukuai3@huawei.com>
Subject: [PATCH 04/14] gfs2: replace ll_rw_block()
Date: Wed, 31 Aug 2022 15:21:01 +0800	[thread overview]
Message-ID: <20220831072111.3569680-5-yi.zhang@huawei.com> (raw)
In-Reply-To: <20220831072111.3569680-1-yi.zhang@huawei.com>

ll_rw_block() is not safe for the sync read path because it cannot
guarantee that always submitting read IO if the buffer has been locked,
so stop using it. We also switch to new bh_readahead() helper for the
readahead path.

Signed-off-by: Zhang Yi <yi.zhang@huawei.com>
---
 fs/gfs2/meta_io.c | 6 ++----
 fs/gfs2/quota.c   | 4 +---
 2 files changed, 3 insertions(+), 7 deletions(-)

diff --git a/fs/gfs2/meta_io.c b/fs/gfs2/meta_io.c
index 7e70e0ba5a6c..07e882aa7ebd 100644
--- a/fs/gfs2/meta_io.c
+++ b/fs/gfs2/meta_io.c
@@ -525,8 +525,7 @@ struct buffer_head *gfs2_meta_ra(struct gfs2_glock *gl, u64 dblock, u32 extlen)
 
 	if (buffer_uptodate(first_bh))
 		goto out;
-	if (!buffer_locked(first_bh))
-		ll_rw_block(REQ_OP_READ | REQ_META | REQ_PRIO, 1, &first_bh);
+	bh_read_nowait(first_bh, REQ_META | REQ_PRIO);
 
 	dblock++;
 	extlen--;
@@ -535,8 +534,7 @@ struct buffer_head *gfs2_meta_ra(struct gfs2_glock *gl, u64 dblock, u32 extlen)
 		bh = gfs2_getbuf(gl, dblock, CREATE);
 
 		if (!buffer_uptodate(bh) && !buffer_locked(bh))
-			ll_rw_block(REQ_OP_READ | REQ_RAHEAD | REQ_META |
-				    REQ_PRIO, 1, &bh);
+			bh_readahead(bh, REQ_RAHEAD | REQ_META | REQ_PRIO);
 		brelse(bh);
 		dblock++;
 		extlen--;
diff --git a/fs/gfs2/quota.c b/fs/gfs2/quota.c
index f201eaf59d0d..0c2ef4226aba 100644
--- a/fs/gfs2/quota.c
+++ b/fs/gfs2/quota.c
@@ -746,9 +746,7 @@ static int gfs2_write_buf_to_page(struct gfs2_inode *ip, unsigned long index,
 		if (PageUptodate(page))
 			set_buffer_uptodate(bh);
 		if (!buffer_uptodate(bh)) {
-			ll_rw_block(REQ_OP_READ | REQ_META | REQ_PRIO, 1, &bh);
-			wait_on_buffer(bh);
-			if (!buffer_uptodate(bh))
+			if (bh_read(bh, REQ_META | REQ_PRIO))
 				goto unlock_out;
 		}
 		if (gfs2_is_jdata(ip))
-- 
2.31.1


  parent reply	other threads:[~2022-08-31  7:10 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-31  7:20 [PATCH 00/14] buffer: remove ll_rw_block() Zhang Yi
2022-08-31  7:20 ` [PATCH 01/14] fs/buffer: remove __breadahead_gfp() Zhang Yi
2022-08-31 10:39   ` Jan Kara
2022-08-31  7:20 ` [PATCH 02/14] fs/buffer: add some new buffer read helpers Zhang Yi
2022-08-31 11:30   ` Jan Kara
2022-08-31 13:11     ` Zhang Yi
2022-08-31  7:21 ` [PATCH 03/14] fs/buffer: replace ll_rw_block() Zhang Yi
2022-08-31 10:51   ` Jan Kara
2022-08-31  7:21 ` Zhang Yi [this message]
2022-08-31 10:52   ` [PATCH 04/14] gfs2: " Jan Kara
2022-08-31  7:21 ` [PATCH 05/14] isofs: " Zhang Yi
2022-08-31 10:53   ` Jan Kara
2022-08-31  7:21 ` [PATCH 06/14] jbd2: " Zhang Yi
2022-08-31 10:58   ` Jan Kara
2022-08-31  7:21 ` [PATCH 07/14] ntfs3: " Zhang Yi
2022-08-31 10:59   ` Jan Kara
2022-08-31  7:21 ` [PATCH 08/14] ocfs2: " Zhang Yi
2022-08-31 11:31   ` Jan Kara
2022-08-31  7:21 ` [PATCH 09/14] reiserfs: " Zhang Yi
2022-08-31 11:04   ` Jan Kara
2022-08-31  7:21 ` [PATCH 10/14] udf: " Zhang Yi
2022-08-31 11:05   ` Jan Kara
2022-08-31  7:21 ` [PATCH 11/14] ufs: " Zhang Yi
2022-08-31 11:06   ` Jan Kara
2022-08-31  7:21 ` [PATCH 12/14] fs/buffer: remove ll_rw_block() helper Zhang Yi
2022-08-31 11:06   ` Jan Kara
2022-08-31  7:21 ` [PATCH 13/14] ext2: replace bh_submit_read() helper with bh_read_locked() Zhang Yi
2022-08-31 11:15   ` Jan Kara
2022-08-31  7:21 ` [PATCH 14/14] fs/buffer: remove bh_submit_read() helper Zhang Yi
2022-08-31 11:16   ` Jan Kara

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=20220831072111.3569680-5-yi.zhang@huawei.com \
    --to=yi.zhang@huawei.com \
    --cc=agruenba@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=almaz.alexandrovich@paragon-software.com \
    --cc=axboe@kernel.dk \
    --cc=chengzhihao1@huawei.com \
    --cc=cluster-devel@redhat.com \
    --cc=dushistov@mail.ru \
    --cc=hch@infradead.org \
    --cc=jack@suse.cz \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark@fasheh.com \
    --cc=ntfs3@lists.linux.dev \
    --cc=ocfs2-devel@oss.oracle.com \
    --cc=reiserfs-devel@vger.kernel.org \
    --cc=rpeterso@redhat.com \
    --cc=tytso@mit.edu \
    --cc=viro@zeniv.linux.org.uk \
    --cc=yukuai3@huawei.com \
    /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).