All of lore.kernel.org
 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 03/14] fs/buffer: replace ll_rw_block()
Date: Thu, 1 Sep 2022 21:34:54 +0800	[thread overview]
Message-ID: <20220901133505.2510834-4-yi.zhang@huawei.com> (raw)
In-Reply-To: <20220901133505.2510834-1-yi.zhang@huawei.com>

ll_rw_block() is not safe for the sync IO path because it skip buffers
which has been locked by others, it could lead to false positive EIO
when submitting read IO. So stop using ll_rw_block(), switch to use new
helpers which could guarantee buffer locked and submit IO if needed.

Signed-off-by: Zhang Yi <yi.zhang@huawei.com>
---
 fs/buffer.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/fs/buffer.c b/fs/buffer.c
index a6bc769e665d..aec568b3ae52 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -562,7 +562,7 @@ void write_boundary_block(struct block_device *bdev,
 	struct buffer_head *bh = __find_get_block(bdev, bblock + 1, blocksize);
 	if (bh) {
 		if (buffer_dirty(bh))
-			ll_rw_block(REQ_OP_WRITE, 1, &bh);
+			write_dirty_buffer(bh, 0);
 		put_bh(bh);
 	}
 }
@@ -1342,7 +1342,7 @@ void __breadahead(struct block_device *bdev, sector_t block, unsigned size)
 {
 	struct buffer_head *bh = __getblk(bdev, block, size);
 	if (likely(bh)) {
-		ll_rw_block(REQ_OP_READ | REQ_RAHEAD, 1, &bh);
+		bh_readahead(bh, REQ_RAHEAD);
 		brelse(bh);
 	}
 }
@@ -2022,7 +2022,7 @@ int __block_write_begin_int(struct folio *folio, loff_t pos, unsigned len,
 		if (!buffer_uptodate(bh) && !buffer_delay(bh) &&
 		    !buffer_unwritten(bh) &&
 		     (block_start < from || block_end > to)) {
-			ll_rw_block(REQ_OP_READ, 1, &bh);
+			bh_read_nowait(bh, 0);
 			*wait_bh++=bh;
 		}
 	}
@@ -2582,11 +2582,9 @@ int block_truncate_page(struct address_space *mapping,
 		set_buffer_uptodate(bh);
 
 	if (!buffer_uptodate(bh) && !buffer_delay(bh) && !buffer_unwritten(bh)) {
-		err = -EIO;
-		ll_rw_block(REQ_OP_READ, 1, &bh);
-		wait_on_buffer(bh);
+		err = bh_read(bh, 0);
 		/* Uhhuh. Read error. Complain and punt. */
-		if (!buffer_uptodate(bh))
+		if (err < 0)
 			goto unlock;
 	}
 
-- 
2.31.1


WARNING: multiple messages have this Message-ID (diff)
From: Zhang Yi via Ocfs2-devel <ocfs2-devel@oss.oracle.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: axboe@kernel.dk, hch@infradead.org, tytso@mit.edu,
	agruenba@redhat.com, yi.zhang@huawei.com,
	almaz.alexandrovich@paragon-software.com,
	viro@zeniv.linux.org.uk, yukuai3@huawei.com, rpeterso@redhat.com,
	dushistov@mail.ru, chengzhihao1@huawei.com
Subject: [Ocfs2-devel] [PATCH v2 03/14] fs/buffer: replace ll_rw_block()
Date: Thu, 1 Sep 2022 21:34:54 +0800	[thread overview]
Message-ID: <20220901133505.2510834-4-yi.zhang@huawei.com> (raw)
In-Reply-To: <20220901133505.2510834-1-yi.zhang@huawei.com>

ll_rw_block() is not safe for the sync IO path because it skip buffers
which has been locked by others, it could lead to false positive EIO
when submitting read IO. So stop using ll_rw_block(), switch to use new
helpers which could guarantee buffer locked and submit IO if needed.

Signed-off-by: Zhang Yi <yi.zhang@huawei.com>
---
 fs/buffer.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/fs/buffer.c b/fs/buffer.c
index a6bc769e665d..aec568b3ae52 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -562,7 +562,7 @@ void write_boundary_block(struct block_device *bdev,
 	struct buffer_head *bh = __find_get_block(bdev, bblock + 1, blocksize);
 	if (bh) {
 		if (buffer_dirty(bh))
-			ll_rw_block(REQ_OP_WRITE, 1, &bh);
+			write_dirty_buffer(bh, 0);
 		put_bh(bh);
 	}
 }
@@ -1342,7 +1342,7 @@ void __breadahead(struct block_device *bdev, sector_t block, unsigned size)
 {
 	struct buffer_head *bh = __getblk(bdev, block, size);
 	if (likely(bh)) {
-		ll_rw_block(REQ_OP_READ | REQ_RAHEAD, 1, &bh);
+		bh_readahead(bh, REQ_RAHEAD);
 		brelse(bh);
 	}
 }
@@ -2022,7 +2022,7 @@ int __block_write_begin_int(struct folio *folio, loff_t pos, unsigned len,
 		if (!buffer_uptodate(bh) && !buffer_delay(bh) &&
 		    !buffer_unwritten(bh) &&
 		     (block_start < from || block_end > to)) {
-			ll_rw_block(REQ_OP_READ, 1, &bh);
+			bh_read_nowait(bh, 0);
 			*wait_bh++=bh;
 		}
 	}
@@ -2582,11 +2582,9 @@ int block_truncate_page(struct address_space *mapping,
 		set_buffer_uptodate(bh);
 
 	if (!buffer_uptodate(bh) && !buffer_delay(bh) && !buffer_unwritten(bh)) {
-		err = -EIO;
-		ll_rw_block(REQ_OP_READ, 1, &bh);
-		wait_on_buffer(bh);
+		err = bh_read(bh, 0);
 		/* Uhhuh. Read error. Complain and punt. */
-		if (!buffer_uptodate(bh))
+		if (err < 0)
 			goto unlock;
 	}
 
-- 
2.31.1


_______________________________________________
Ocfs2-devel mailing list
Ocfs2-devel@oss.oracle.com
https://oss.oracle.com/mailman/listinfo/ocfs2-devel

WARNING: multiple messages have this Message-ID (diff)
From: Zhang Yi <yi.zhang@huawei.com>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] [PATCH v2 03/14] fs/buffer: replace ll_rw_block()
Date: Thu, 1 Sep 2022 21:34:54 +0800	[thread overview]
Message-ID: <20220901133505.2510834-4-yi.zhang@huawei.com> (raw)
In-Reply-To: <20220901133505.2510834-1-yi.zhang@huawei.com>

ll_rw_block() is not safe for the sync IO path because it skip buffers
which has been locked by others, it could lead to false positive EIO
when submitting read IO. So stop using ll_rw_block(), switch to use new
helpers which could guarantee buffer locked and submit IO if needed.

Signed-off-by: Zhang Yi <yi.zhang@huawei.com>
---
 fs/buffer.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/fs/buffer.c b/fs/buffer.c
index a6bc769e665d..aec568b3ae52 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -562,7 +562,7 @@ void write_boundary_block(struct block_device *bdev,
 	struct buffer_head *bh = __find_get_block(bdev, bblock + 1, blocksize);
 	if (bh) {
 		if (buffer_dirty(bh))
-			ll_rw_block(REQ_OP_WRITE, 1, &bh);
+			write_dirty_buffer(bh, 0);
 		put_bh(bh);
 	}
 }
@@ -1342,7 +1342,7 @@ void __breadahead(struct block_device *bdev, sector_t block, unsigned size)
 {
 	struct buffer_head *bh = __getblk(bdev, block, size);
 	if (likely(bh)) {
-		ll_rw_block(REQ_OP_READ | REQ_RAHEAD, 1, &bh);
+		bh_readahead(bh, REQ_RAHEAD);
 		brelse(bh);
 	}
 }
@@ -2022,7 +2022,7 @@ int __block_write_begin_int(struct folio *folio, loff_t pos, unsigned len,
 		if (!buffer_uptodate(bh) && !buffer_delay(bh) &&
 		    !buffer_unwritten(bh) &&
 		     (block_start < from || block_end > to)) {
-			ll_rw_block(REQ_OP_READ, 1, &bh);
+			bh_read_nowait(bh, 0);
 			*wait_bh++=bh;
 		}
 	}
@@ -2582,11 +2582,9 @@ int block_truncate_page(struct address_space *mapping,
 		set_buffer_uptodate(bh);
 
 	if (!buffer_uptodate(bh) && !buffer_delay(bh) && !buffer_unwritten(bh)) {
-		err = -EIO;
-		ll_rw_block(REQ_OP_READ, 1, &bh);
-		wait_on_buffer(bh);
+		err = bh_read(bh, 0);
 		/* Uhhuh. Read error. Complain and punt. */
-		if (!buffer_uptodate(bh))
+		if (err < 0)
 			goto unlock;
 	}
 
-- 
2.31.1


WARNING: multiple messages have this Message-ID (diff)
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 03/14] fs/buffer: replace ll_rw_block()
Date: Thu, 1 Sep 2022 21:34:54 +0800	[thread overview]
Message-ID: <20220901133505.2510834-4-yi.zhang@huawei.com> (raw)
In-Reply-To: <20220901133505.2510834-1-yi.zhang@huawei.com>

ll_rw_block() is not safe for the sync IO path because it skip buffers
which has been locked by others, it could lead to false positive EIO
when submitting read IO. So stop using ll_rw_block(), switch to use new
helpers which could guarantee buffer locked and submit IO if needed.

Signed-off-by: Zhang Yi <yi.zhang@huawei.com>
---
 fs/buffer.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/fs/buffer.c b/fs/buffer.c
index a6bc769e665d..aec568b3ae52 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -562,7 +562,7 @@ void write_boundary_block(struct block_device *bdev,
 	struct buffer_head *bh = __find_get_block(bdev, bblock + 1, blocksize);
 	if (bh) {
 		if (buffer_dirty(bh))
-			ll_rw_block(REQ_OP_WRITE, 1, &bh);
+			write_dirty_buffer(bh, 0);
 		put_bh(bh);
 	}
 }
@@ -1342,7 +1342,7 @@ void __breadahead(struct block_device *bdev, sector_t block, unsigned size)
 {
 	struct buffer_head *bh = __getblk(bdev, block, size);
 	if (likely(bh)) {
-		ll_rw_block(REQ_OP_READ | REQ_RAHEAD, 1, &bh);
+		bh_readahead(bh, REQ_RAHEAD);
 		brelse(bh);
 	}
 }
@@ -2022,7 +2022,7 @@ int __block_write_begin_int(struct folio *folio, loff_t pos, unsigned len,
 		if (!buffer_uptodate(bh) && !buffer_delay(bh) &&
 		    !buffer_unwritten(bh) &&
 		     (block_start < from || block_end > to)) {
-			ll_rw_block(REQ_OP_READ, 1, &bh);
+			bh_read_nowait(bh, 0);
 			*wait_bh++=bh;
 		}
 	}
@@ -2582,11 +2582,9 @@ int block_truncate_page(struct address_space *mapping,
 		set_buffer_uptodate(bh);
 
 	if (!buffer_uptodate(bh) && !buffer_delay(bh) && !buffer_unwritten(bh)) {
-		err = -EIO;
-		ll_rw_block(REQ_OP_READ, 1, &bh);
-		wait_on_buffer(bh);
+		err = bh_read(bh, 0);
 		/* Uhhuh. Read error. Complain and punt. */
-		if (!buffer_uptodate(bh))
+		if (err < 0)
 			goto unlock;
 	}
 
-- 
2.31.1


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

Thread overview: 165+ 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 ` Zhang Yi
2022-09-01 13:34 ` [Cluster-devel] " Zhang Yi
2022-09-01 13:34 ` [Ocfs2-devel] " Zhang Yi via Ocfs2-devel
2022-09-01 13:34 ` [PATCH v2 01/14] fs/buffer: remove __breadahead_gfp() Zhang Yi
2022-09-01 13:34   ` Zhang Yi
2022-09-01 13:34   ` [Cluster-devel] " Zhang Yi
2022-09-01 13:34   ` [Ocfs2-devel] " Zhang Yi via Ocfs2-devel
2022-09-05  5:52   ` Christoph Hellwig
2022-09-05  5:52     ` [Cluster-devel] " Christoph Hellwig
2022-09-05  5:52     ` [Ocfs2-devel] " Christoph Hellwig via Ocfs2-devel
2022-09-01 13:34 ` [PATCH v2 02/14] fs/buffer: add some new buffer read helpers Zhang Yi
2022-09-01 13:34   ` Zhang Yi
2022-09-01 13:34   ` [Cluster-devel] " Zhang Yi
2022-09-01 13:34   ` [Ocfs2-devel] " Zhang Yi via Ocfs2-devel
2022-09-01 15:44   ` Jan Kara
2022-09-01 15:44     ` [Cluster-devel] " Jan Kara
2022-09-01 15:44     ` [Ocfs2-devel] " Jan Kara via Ocfs2-devel
2022-09-05  5:52   ` Christoph Hellwig
2022-09-05  5:52     ` [Cluster-devel] " Christoph Hellwig
2022-09-05  5:52     ` [Ocfs2-devel] " Christoph Hellwig via Ocfs2-devel
2022-09-01 13:34 ` Zhang Yi [this message]
2022-09-01 13:34   ` [PATCH v2 03/14] fs/buffer: replace ll_rw_block() Zhang Yi
2022-09-01 13:34   ` [Cluster-devel] " Zhang Yi
2022-09-01 13:34   ` [Ocfs2-devel] " Zhang Yi via Ocfs2-devel
2022-09-01 15:45   ` Jan Kara
2022-09-01 15:45     ` [Cluster-devel] " Jan Kara
2022-09-01 15:45     ` [Ocfs2-devel] " Jan Kara via Ocfs2-devel
2022-09-05  5:53   ` Christoph Hellwig
2022-09-05  5:53     ` [Cluster-devel] " Christoph Hellwig
2022-09-05  5:53     ` [Ocfs2-devel] " Christoph Hellwig via Ocfs2-devel
2022-09-01 13:34 ` [PATCH v2 04/14] gfs2: " Zhang Yi
2022-09-01 13:34   ` Zhang Yi
2022-09-01 13:34   ` [Cluster-devel] " Zhang Yi
2022-09-01 13:34   ` [Ocfs2-devel] " Zhang Yi via Ocfs2-devel
2022-09-01 15:46   ` Jan Kara
2022-09-01 15:46     ` [Cluster-devel] " Jan Kara
2022-09-01 15:46     ` [Ocfs2-devel] " Jan Kara via Ocfs2-devel
2022-09-05  5:54   ` Christoph Hellwig
2022-09-05  5:54     ` [Cluster-devel] " Christoph Hellwig
2022-09-05  5:54     ` [Ocfs2-devel] " Christoph Hellwig via Ocfs2-devel
2022-09-05 14:10   ` Andreas Gruenbacher
2022-09-05 14:10     ` [Cluster-devel] " Andreas Gruenbacher
2022-09-05 14:10     ` [Ocfs2-devel] " Andreas Gruenbacher via Ocfs2-devel
2022-09-01 13:34 ` [PATCH v2 05/14] isofs: " Zhang Yi
2022-09-01 13:34   ` Zhang Yi
2022-09-01 13:34   ` [Cluster-devel] " Zhang Yi
2022-09-01 13:34   ` [Ocfs2-devel] " Zhang Yi via Ocfs2-devel
2022-09-05  5:54   ` Christoph Hellwig
2022-09-05  5:54     ` Christoph Hellwig
2022-09-05  5:54     ` [Cluster-devel] " Christoph Hellwig
2022-09-05  5:54     ` [Ocfs2-devel] " Christoph Hellwig via Ocfs2-devel
2022-09-01 13:34 ` [Ocfs2-devel] [PATCH v2 06/14] jbd2: " Zhang Yi via Ocfs2-devel
2022-09-01 13:34   ` Zhang Yi
2022-09-01 13:34   ` [Cluster-devel] " Zhang Yi
2022-09-01 13:34   ` Zhang Yi
2022-09-01 15:50   ` Jan Kara
2022-09-01 15:50     ` [Cluster-devel] " Jan Kara
2022-09-01 15:50     ` [Ocfs2-devel] " Jan Kara via Ocfs2-devel
2022-09-05  5:54   ` Christoph Hellwig
2022-09-05  5:54     ` Christoph Hellwig
2022-09-05  5:54     ` [Cluster-devel] " Christoph Hellwig
2022-09-05  5:54     ` [Ocfs2-devel] " Christoph Hellwig via Ocfs2-devel
2022-09-05  8:23   ` Theodore Ts'o
2022-09-05  8:23     ` [Cluster-devel] " Theodore Ts'o
2022-09-05  8:23     ` [Ocfs2-devel] " Theodore Ts'o via Ocfs2-devel
2022-09-01 13:34 ` [Ocfs2-devel] [PATCH v2 07/14] ntfs3: " Zhang Yi via Ocfs2-devel
2022-09-01 13:34   ` Zhang Yi
2022-09-01 13:34   ` [Cluster-devel] " Zhang Yi
2022-09-01 13:34   ` Zhang Yi
2022-09-01 15:47   ` [Ocfs2-devel] " Jan Kara via Ocfs2-devel
2022-09-01 15:47     ` [Cluster-devel] " Jan Kara
2022-09-01 15:47     ` Jan Kara
2022-09-05  5:54   ` Christoph Hellwig
2022-09-05  5:54     ` Christoph Hellwig
2022-09-05  5:54     ` [Cluster-devel] " Christoph Hellwig
2022-09-05  5:54     ` [Ocfs2-devel] " Christoph Hellwig via Ocfs2-devel
2022-09-01 13:34 ` [Ocfs2-devel] [PATCH v2 08/14] ocfs2: " Zhang Yi via Ocfs2-devel
2022-09-01 13:34   ` Zhang Yi
2022-09-01 13:34   ` [Cluster-devel] " Zhang Yi
2022-09-01 13:34   ` Zhang Yi
2022-09-01 15:51   ` Jan Kara
2022-09-01 15:51     ` [Cluster-devel] " Jan Kara
2022-09-01 15:51     ` [Ocfs2-devel] " Jan Kara via Ocfs2-devel
2022-09-05  5:55   ` Christoph Hellwig
2022-09-05  5:55     ` Christoph Hellwig
2022-09-05  5:55     ` [Cluster-devel] " Christoph Hellwig
2022-09-05  5:55     ` [Ocfs2-devel] " Christoph Hellwig via Ocfs2-devel
2022-09-06  1:06   ` Joseph Qi
2022-09-06  1:06     ` [Cluster-devel] " Joseph Qi
2022-09-06  1:06     ` Joseph Qi via Ocfs2-devel
2022-09-01 13:35 ` [Ocfs2-devel] [PATCH v2 09/14] reiserfs: " Zhang Yi via Ocfs2-devel
2022-09-01 13:35   ` Zhang Yi
2022-09-01 13:35   ` [Cluster-devel] " Zhang Yi
2022-09-01 13:35   ` Zhang Yi
2022-09-01 15:52   ` Jan Kara
2022-09-01 15:52     ` [Cluster-devel] " Jan Kara
2022-09-01 15:52     ` [Ocfs2-devel] " Jan Kara via Ocfs2-devel
2022-09-05  5:55   ` Christoph Hellwig
2022-09-05  5:55     ` Christoph Hellwig
2022-09-05  5:55     ` [Cluster-devel] " Christoph Hellwig
2022-09-05  5:55     ` [Ocfs2-devel] " Christoph Hellwig via Ocfs2-devel
2022-09-01 13:35 ` [Ocfs2-devel] [PATCH v2 10/14] udf: " Zhang Yi via Ocfs2-devel
2022-09-01 13:35   ` Zhang Yi
2022-09-01 13:35   ` [Cluster-devel] " Zhang Yi
2022-09-01 13:35   ` Zhang Yi
2022-09-01 15:58   ` Jan Kara
2022-09-01 15:58     ` [Cluster-devel] " Jan Kara
2022-09-01 15:58     ` [Ocfs2-devel] " Jan Kara via Ocfs2-devel
2022-09-05  5:55   ` Christoph Hellwig
2022-09-05  5:55     ` Christoph Hellwig
2022-09-05  5:55     ` [Cluster-devel] " Christoph Hellwig
2022-09-05  5:55     ` [Ocfs2-devel] " Christoph Hellwig via Ocfs2-devel
2022-09-01 13:35 ` [PATCH v2 11/14] ufs: " Zhang Yi
2022-09-01 13:35   ` Zhang Yi
2022-09-01 13:35   ` [Cluster-devel] " Zhang Yi
2022-09-01 13:35   ` [Ocfs2-devel] " Zhang Yi via Ocfs2-devel
2022-09-01 15:59   ` Jan Kara
2022-09-01 15:59     ` [Cluster-devel] " Jan Kara
2022-09-01 15:59     ` [Ocfs2-devel] " Jan Kara via Ocfs2-devel
2022-09-05  5:56   ` Christoph Hellwig
2022-09-05  5:56     ` Christoph Hellwig
2022-09-05  5:56     ` [Cluster-devel] " Christoph Hellwig
2022-09-05  5:56     ` [Ocfs2-devel] " Christoph Hellwig via Ocfs2-devel
2022-09-01 13:35 ` [Ocfs2-devel] [PATCH v2 12/14] fs/buffer: remove ll_rw_block() helper Zhang Yi via Ocfs2-devel
2022-09-01 13:35   ` Zhang Yi
2022-09-01 13:35   ` [Cluster-devel] " Zhang Yi
2022-09-01 13:35   ` Zhang Yi
2022-09-05  5:56   ` Christoph Hellwig
2022-09-05  5:56     ` Christoph Hellwig
2022-09-05  5:56     ` [Cluster-devel] " Christoph Hellwig
2022-09-05  5:56     ` [Ocfs2-devel] " Christoph Hellwig via Ocfs2-devel
2022-09-01 13:35 ` [Ocfs2-devel] [PATCH v2 13/14] ext2: replace bh_submit_read() helper with bh_read_locked() Zhang Yi via Ocfs2-devel
2022-09-01 13:35   ` Zhang Yi
2022-09-01 13:35   ` [Cluster-devel] " Zhang Yi
2022-09-01 13:35   ` Zhang Yi
2022-09-01 15:59   ` Jan Kara
2022-09-01 15:59     ` [Cluster-devel] " Jan Kara
2022-09-01 15:59     ` [Ocfs2-devel] " Jan Kara via Ocfs2-devel
2022-09-02  0:30   ` Al Viro
2022-09-02  0:30     ` [Cluster-devel] " Al Viro
2022-09-02  0:30     ` [Ocfs2-devel] " Al Viro via Ocfs2-devel
2022-09-02  1:32     ` Zhang Yi
2022-09-02  1:32       ` Zhang Yi
2022-09-02  1:32       ` [Cluster-devel] " Zhang Yi
2022-09-02  1:32       ` [Ocfs2-devel] " Zhang Yi via Ocfs2-devel
2022-09-02  1:51       ` Al Viro
2022-09-02  1:51         ` [Cluster-devel] " Al Viro
2022-09-02  1:51         ` [Ocfs2-devel] " Al Viro via Ocfs2-devel
2022-09-02  1:58         ` Zhang Yi
2022-09-02  1:58           ` Zhang Yi
2022-09-02  1:58           ` [Cluster-devel] " Zhang Yi
2022-09-02  1:58           ` [Ocfs2-devel] " Zhang Yi via Ocfs2-devel
2022-09-05  5:56   ` Christoph Hellwig
2022-09-05  5:56     ` Christoph Hellwig
2022-09-05  5:56     ` [Cluster-devel] " Christoph Hellwig
2022-09-05  5:56     ` [Ocfs2-devel] " Christoph Hellwig via Ocfs2-devel
2022-09-01 13:35 ` [Ocfs2-devel] [PATCH v2 14/14] fs/buffer: remove bh_submit_read() helper Zhang Yi via Ocfs2-devel
2022-09-01 13:35   ` Zhang Yi
2022-09-01 13:35   ` [Cluster-devel] " Zhang Yi
2022-09-01 13:35   ` Zhang Yi
2022-09-05  5:57   ` Christoph Hellwig
2022-09-05  5:57     ` Christoph Hellwig
2022-09-05  5:57     ` [Cluster-devel] " Christoph Hellwig
2022-09-05  5:57     ` [Ocfs2-devel] " Christoph Hellwig via Ocfs2-devel

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-4-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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.