All of lore.kernel.org
 help / color / mirror / Atom feed
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 10/14] udf: replace ll_rw_block()
Date: Thu, 1 Sep 2022 21:35:01 +0800	[thread overview]
Message-ID: <20220901133505.2510834-11-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 submitting read IO if the buffer has been locked. We
could get false positive EIO after wait_on_buffer() if the buffer has
been locked by others. So stop using ll_rw_block(). We also switch to
new bh_readahead_batch() helper for the buffer array readahead path.

Signed-off-by: Zhang Yi <yi.zhang@huawei.com>
---
 fs/udf/dir.c       | 2 +-
 fs/udf/directory.c | 2 +-
 fs/udf/inode.c     | 8 +-------
 3 files changed, 3 insertions(+), 9 deletions(-)

diff --git a/fs/udf/dir.c b/fs/udf/dir.c
index cad3772f9dbe..be640f4b2f2c 100644
--- a/fs/udf/dir.c
+++ b/fs/udf/dir.c
@@ -130,7 +130,7 @@ static int udf_readdir(struct file *file, struct dir_context *ctx)
 					brelse(tmp);
 			}
 			if (num) {
-				ll_rw_block(REQ_OP_READ | REQ_RAHEAD, num, bha);
+				bh_readahead_batch(num, bha, REQ_RAHEAD);
 				for (i = 0; i < num; i++)
 					brelse(bha[i]);
 			}
diff --git a/fs/udf/directory.c b/fs/udf/directory.c
index a2adf6293093..16bcf2c6b8b3 100644
--- a/fs/udf/directory.c
+++ b/fs/udf/directory.c
@@ -89,7 +89,7 @@ struct fileIdentDesc *udf_fileident_read(struct inode *dir, loff_t *nf_pos,
 					brelse(tmp);
 			}
 			if (num) {
-				ll_rw_block(REQ_OP_READ | REQ_RAHEAD, num, bha);
+				bh_readahead_batch(num, bha, REQ_RAHEAD);
 				for (i = 0; i < num; i++)
 					brelse(bha[i]);
 			}
diff --git a/fs/udf/inode.c b/fs/udf/inode.c
index 8d06daed549f..dce6ae9ae306 100644
--- a/fs/udf/inode.c
+++ b/fs/udf/inode.c
@@ -1211,13 +1211,7 @@ struct buffer_head *udf_bread(struct inode *inode, udf_pblk_t block,
 	if (!bh)
 		return NULL;
 
-	if (buffer_uptodate(bh))
-		return bh;
-
-	ll_rw_block(REQ_OP_READ, 1, &bh);
-
-	wait_on_buffer(bh);
-	if (buffer_uptodate(bh))
+	if (bh_read(bh, 0) >= 0)
 		return bh;
 
 	brelse(bh);
-- 
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: <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 10/14] udf: replace ll_rw_block()
Date: Thu, 1 Sep 2022 21:35:01 +0800	[thread overview]
Message-ID: <20220901133505.2510834-11-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 submitting read IO if the buffer has been locked. We
could get false positive EIO after wait_on_buffer() if the buffer has
been locked by others. So stop using ll_rw_block(). We also switch to
new bh_readahead_batch() helper for the buffer array readahead path.

Signed-off-by: Zhang Yi <yi.zhang@huawei.com>
---
 fs/udf/dir.c       | 2 +-
 fs/udf/directory.c | 2 +-
 fs/udf/inode.c     | 8 +-------
 3 files changed, 3 insertions(+), 9 deletions(-)

diff --git a/fs/udf/dir.c b/fs/udf/dir.c
index cad3772f9dbe..be640f4b2f2c 100644
--- a/fs/udf/dir.c
+++ b/fs/udf/dir.c
@@ -130,7 +130,7 @@ static int udf_readdir(struct file *file, struct dir_context *ctx)
 					brelse(tmp);
 			}
 			if (num) {
-				ll_rw_block(REQ_OP_READ | REQ_RAHEAD, num, bha);
+				bh_readahead_batch(num, bha, REQ_RAHEAD);
 				for (i = 0; i < num; i++)
 					brelse(bha[i]);
 			}
diff --git a/fs/udf/directory.c b/fs/udf/directory.c
index a2adf6293093..16bcf2c6b8b3 100644
--- a/fs/udf/directory.c
+++ b/fs/udf/directory.c
@@ -89,7 +89,7 @@ struct fileIdentDesc *udf_fileident_read(struct inode *dir, loff_t *nf_pos,
 					brelse(tmp);
 			}
 			if (num) {
-				ll_rw_block(REQ_OP_READ | REQ_RAHEAD, num, bha);
+				bh_readahead_batch(num, bha, REQ_RAHEAD);
 				for (i = 0; i < num; i++)
 					brelse(bha[i]);
 			}
diff --git a/fs/udf/inode.c b/fs/udf/inode.c
index 8d06daed549f..dce6ae9ae306 100644
--- a/fs/udf/inode.c
+++ b/fs/udf/inode.c
@@ -1211,13 +1211,7 @@ struct buffer_head *udf_bread(struct inode *inode, udf_pblk_t block,
 	if (!bh)
 		return NULL;
 
-	if (buffer_uptodate(bh))
-		return bh;
-
-	ll_rw_block(REQ_OP_READ, 1, &bh);
-
-	wait_on_buffer(bh);
-	if (buffer_uptodate(bh))
+	if (bh_read(bh, 0) >= 0)
 		return bh;
 
 	brelse(bh);
-- 
2.31.1


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 10/14] udf: replace ll_rw_block()
Date: Thu, 1 Sep 2022 21:35:01 +0800	[thread overview]
Message-ID: <20220901133505.2510834-11-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 submitting read IO if the buffer has been locked. We
could get false positive EIO after wait_on_buffer() if the buffer has
been locked by others. So stop using ll_rw_block(). We also switch to
new bh_readahead_batch() helper for the buffer array readahead path.

Signed-off-by: Zhang Yi <yi.zhang@huawei.com>
---
 fs/udf/dir.c       | 2 +-
 fs/udf/directory.c | 2 +-
 fs/udf/inode.c     | 8 +-------
 3 files changed, 3 insertions(+), 9 deletions(-)

diff --git a/fs/udf/dir.c b/fs/udf/dir.c
index cad3772f9dbe..be640f4b2f2c 100644
--- a/fs/udf/dir.c
+++ b/fs/udf/dir.c
@@ -130,7 +130,7 @@ static int udf_readdir(struct file *file, struct dir_context *ctx)
 					brelse(tmp);
 			}
 			if (num) {
-				ll_rw_block(REQ_OP_READ | REQ_RAHEAD, num, bha);
+				bh_readahead_batch(num, bha, REQ_RAHEAD);
 				for (i = 0; i < num; i++)
 					brelse(bha[i]);
 			}
diff --git a/fs/udf/directory.c b/fs/udf/directory.c
index a2adf6293093..16bcf2c6b8b3 100644
--- a/fs/udf/directory.c
+++ b/fs/udf/directory.c
@@ -89,7 +89,7 @@ struct fileIdentDesc *udf_fileident_read(struct inode *dir, loff_t *nf_pos,
 					brelse(tmp);
 			}
 			if (num) {
-				ll_rw_block(REQ_OP_READ | REQ_RAHEAD, num, bha);
+				bh_readahead_batch(num, bha, REQ_RAHEAD);
 				for (i = 0; i < num; i++)
 					brelse(bha[i]);
 			}
diff --git a/fs/udf/inode.c b/fs/udf/inode.c
index 8d06daed549f..dce6ae9ae306 100644
--- a/fs/udf/inode.c
+++ b/fs/udf/inode.c
@@ -1211,13 +1211,7 @@ struct buffer_head *udf_bread(struct inode *inode, udf_pblk_t block,
 	if (!bh)
 		return NULL;
 
-	if (buffer_uptodate(bh))
-		return bh;
-
-	ll_rw_block(REQ_OP_READ, 1, &bh);
-
-	wait_on_buffer(bh);
-	if (buffer_uptodate(bh))
+	if (bh_read(bh, 0) >= 0)
 		return bh;
 
 	brelse(bh);
-- 
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 10/14] udf: replace ll_rw_block()
Date: Thu, 1 Sep 2022 21:35:01 +0800	[thread overview]
Message-ID: <20220901133505.2510834-11-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 submitting read IO if the buffer has been locked. We
could get false positive EIO after wait_on_buffer() if the buffer has
been locked by others. So stop using ll_rw_block(). We also switch to
new bh_readahead_batch() helper for the buffer array readahead path.

Signed-off-by: Zhang Yi <yi.zhang@huawei.com>
---
 fs/udf/dir.c       | 2 +-
 fs/udf/directory.c | 2 +-
 fs/udf/inode.c     | 8 +-------
 3 files changed, 3 insertions(+), 9 deletions(-)

diff --git a/fs/udf/dir.c b/fs/udf/dir.c
index cad3772f9dbe..be640f4b2f2c 100644
--- a/fs/udf/dir.c
+++ b/fs/udf/dir.c
@@ -130,7 +130,7 @@ static int udf_readdir(struct file *file, struct dir_context *ctx)
 					brelse(tmp);
 			}
 			if (num) {
-				ll_rw_block(REQ_OP_READ | REQ_RAHEAD, num, bha);
+				bh_readahead_batch(num, bha, REQ_RAHEAD);
 				for (i = 0; i < num; i++)
 					brelse(bha[i]);
 			}
diff --git a/fs/udf/directory.c b/fs/udf/directory.c
index a2adf6293093..16bcf2c6b8b3 100644
--- a/fs/udf/directory.c
+++ b/fs/udf/directory.c
@@ -89,7 +89,7 @@ struct fileIdentDesc *udf_fileident_read(struct inode *dir, loff_t *nf_pos,
 					brelse(tmp);
 			}
 			if (num) {
-				ll_rw_block(REQ_OP_READ | REQ_RAHEAD, num, bha);
+				bh_readahead_batch(num, bha, REQ_RAHEAD);
 				for (i = 0; i < num; i++)
 					brelse(bha[i]);
 			}
diff --git a/fs/udf/inode.c b/fs/udf/inode.c
index 8d06daed549f..dce6ae9ae306 100644
--- a/fs/udf/inode.c
+++ b/fs/udf/inode.c
@@ -1211,13 +1211,7 @@ struct buffer_head *udf_bread(struct inode *inode, udf_pblk_t block,
 	if (!bh)
 		return NULL;
 
-	if (buffer_uptodate(bh))
-		return bh;
-
-	ll_rw_block(REQ_OP_READ, 1, &bh);
-
-	wait_on_buffer(bh);
-	if (buffer_uptodate(bh))
+	if (bh_read(bh, 0) >= 0)
 		return bh;
 
 	brelse(bh);
-- 
2.31.1


  parent reply	other threads:[~2022-09-01 13:24 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 ` [PATCH v2 03/14] fs/buffer: replace 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 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 ` Zhang Yi via Ocfs2-devel [this message]
2022-09-01 13:35   ` [PATCH v2 10/14] udf: " 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-11-yi.zhang@huawei.com \
    --to=ocfs2-devel@oss.oracle.com \
    --cc=agruenba@redhat.com \
    --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=ntfs3@lists.linux.dev \
    --cc=reiserfs-devel@vger.kernel.org \
    --cc=rpeterso@redhat.com \
    --cc=tytso@mit.edu \
    --cc=viro@zeniv.linux.org.uk \
    --cc=yi.zhang@huawei.com \
    --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.