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>, <jack@suse.cz>
Cc: <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 v2 04/14] gfs2: replace ll_rw_block()
Date: Thu, 1 Sep 2022 21:34:55 +0800	[thread overview]
Message-ID: <20220901133505.2510834-5-yi.zhang@huawei.com> (raw)
In-Reply-To: <20220901133505.2510834-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 | 7 ++-----
 fs/gfs2/quota.c   | 8 ++------
 2 files changed, 4 insertions(+), 11 deletions(-)

diff --git a/fs/gfs2/meta_io.c b/fs/gfs2/meta_io.c
index 7e70e0ba5a6c..6ed728aae9a5 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--;
@@ -534,9 +533,7 @@ struct buffer_head *gfs2_meta_ra(struct gfs2_glock *gl, u64 dblock, u32 extlen)
 	while (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..1ed17226d9ed 100644
--- a/fs/gfs2/quota.c
+++ b/fs/gfs2/quota.c
@@ -745,12 +745,8 @@ 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))
-				goto unlock_out;
-		}
+		if (bh_read(bh, REQ_META | REQ_PRIO) < 0)
+			goto unlock_out;
 		if (gfs2_is_jdata(ip))
 			gfs2_trans_add_data(ip->i_gl, bh);
 		else
-- 
2.31.1


  parent reply	other threads:[~2022-09-01 13:29 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-01 13:34 [PATCH v2 00/14] fs/buffer: remove ll_rw_block() Zhang Yi
2022-09-01 13:34 ` [PATCH v2 01/14] fs/buffer: remove __breadahead_gfp() Zhang Yi
2022-09-05  5:52   ` Christoph Hellwig
2022-09-01 13:34 ` [PATCH v2 02/14] fs/buffer: add some new buffer read helpers Zhang Yi
2022-09-01 15:44   ` Jan Kara
2022-09-05  5:52   ` Christoph Hellwig
2022-09-01 13:34 ` [PATCH v2 03/14] fs/buffer: replace ll_rw_block() Zhang Yi
2022-09-01 15:45   ` Jan Kara
2022-09-05  5:53   ` Christoph Hellwig
2022-09-01 13:34 ` Zhang Yi [this message]
2022-09-01 15:46   ` [PATCH v2 04/14] gfs2: " Jan Kara
2022-09-05  5:54   ` Christoph Hellwig
2022-09-05 14:10   ` Andreas Gruenbacher
2022-09-01 13:34 ` [PATCH v2 05/14] isofs: " Zhang Yi
2022-09-05  5:54   ` Christoph Hellwig
2022-09-01 13:34 ` [PATCH v2 06/14] jbd2: " Zhang Yi
2022-09-01 15:50   ` Jan Kara
2022-09-05  5:54   ` Christoph Hellwig
2022-09-05  8:23   ` Theodore Ts'o
2022-09-01 13:34 ` [PATCH v2 07/14] ntfs3: " Zhang Yi
2022-09-01 15:47   ` Jan Kara
2022-09-05  5:54   ` Christoph Hellwig
2022-09-01 13:34 ` [PATCH v2 08/14] ocfs2: " Zhang Yi
2022-09-01 15:51   ` Jan Kara
2022-09-05  5:55   ` Christoph Hellwig
2022-09-01 13:35 ` [PATCH v2 09/14] reiserfs: " Zhang Yi
2022-09-01 15:52   ` Jan Kara
2022-09-05  5:55   ` Christoph Hellwig
2022-09-01 13:35 ` [PATCH v2 10/14] udf: " Zhang Yi
2022-09-01 15:58   ` Jan Kara
2022-09-05  5:55   ` Christoph Hellwig
2022-09-01 13:35 ` [PATCH v2 11/14] ufs: " Zhang Yi
2022-09-01 15:59   ` Jan Kara
2022-09-05  5:56   ` Christoph Hellwig
2022-09-01 13:35 ` [PATCH v2 12/14] fs/buffer: remove ll_rw_block() helper Zhang Yi
2022-09-05  5:56   ` Christoph Hellwig
2022-09-01 13:35 ` [PATCH v2 13/14] ext2: replace bh_submit_read() helper with bh_read_locked() Zhang Yi
2022-09-01 15:59   ` Jan Kara
2022-09-02  0:30   ` Al Viro
2022-09-02  1:32     ` Zhang Yi
2022-09-02  1:51       ` Al Viro
2022-09-02  1:58         ` Zhang Yi
2022-09-05  5:56   ` Christoph Hellwig
2022-09-01 13:35 ` [PATCH v2 14/14] fs/buffer: remove bh_submit_read() helper Zhang Yi
2022-09-05  5:57   ` Christoph Hellwig

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=20220901133505.2510834-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).