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 12/14] fs/buffer: remove ll_rw_block()	helper
Date: Thu, 1 Sep 2022 21:35:03 +0800	[thread overview]
Message-ID: <20220901133505.2510834-13-yi.zhang@huawei.com> (raw)
In-Reply-To: <20220901133505.2510834-1-yi.zhang@huawei.com>

Now that all ll_rw_block() users has been replaced to new safe helpers,
we just remove it here.

Signed-off-by: Zhang Yi <yi.zhang@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
---
 fs/buffer.c                 | 63 +++----------------------------------
 include/linux/buffer_head.h |  1 -
 2 files changed, 4 insertions(+), 60 deletions(-)

diff --git a/fs/buffer.c b/fs/buffer.c
index aec568b3ae52..2cccc7586b99 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -152,7 +152,7 @@ static void __end_buffer_read_notouch(struct buffer_head *bh, int uptodate)
 
 /*
  * Default synchronous end-of-IO handler..  Just mark it up-to-date and
- * unlock the buffer. This is what ll_rw_block uses too.
+ * unlock the buffer.
  */
 void end_buffer_read_sync(struct buffer_head *bh, int uptodate)
 {
@@ -491,8 +491,8 @@ int inode_has_buffers(struct inode *inode)
  * all already-submitted IO to complete, but does not queue any new
  * writes to the disk.
  *
- * To do O_SYNC writes, just queue the buffer writes with ll_rw_block as
- * you dirty the buffers, and then use osync_inode_buffers to wait for
+ * To do O_SYNC writes, just queue the buffer writes with write_dirty_buffer
+ * as you dirty the buffers, and then use osync_inode_buffers to wait for
  * completion.  Any other dirty buffers which are not yet queued for
  * write will not be flushed to disk by the osync.
  */
@@ -1806,7 +1806,7 @@ int __block_write_full_page(struct inode *inode, struct page *page,
 		/*
 		 * The page was marked dirty, but the buffers were
 		 * clean.  Someone wrote them back by hand with
-		 * ll_rw_block/submit_bh.  A rare case.
+		 * write_dirty_buffer/submit_bh.  A rare case.
 		 */
 		end_page_writeback(page);
 
@@ -2713,61 +2713,6 @@ int submit_bh(blk_opf_t opf, struct buffer_head *bh)
 }
 EXPORT_SYMBOL(submit_bh);
 
-/**
- * ll_rw_block: low-level access to block devices (DEPRECATED)
- * @opf: block layer request operation and flags.
- * @nr: number of &struct buffer_heads in the array
- * @bhs: array of pointers to &struct buffer_head
- *
- * ll_rw_block() takes an array of pointers to &struct buffer_heads, and
- * requests an I/O operation on them, either a %REQ_OP_READ or a %REQ_OP_WRITE.
- * @opf contains flags modifying the detailed I/O behavior, most notably
- * %REQ_RAHEAD.
- *
- * This function drops any buffer that it cannot get a lock on (with the
- * BH_Lock state bit), any buffer that appears to be clean when doing a write
- * request, and any buffer that appears to be up-to-date when doing read
- * request.  Further it marks as clean buffers that are processed for
- * writing (the buffer cache won't assume that they are actually clean
- * until the buffer gets unlocked).
- *
- * ll_rw_block sets b_end_io to simple completion handler that marks
- * the buffer up-to-date (if appropriate), unlocks the buffer and wakes
- * any waiters. 
- *
- * All of the buffers must be for the same device, and must also be a
- * multiple of the current approved size for the device.
- */
-void ll_rw_block(const blk_opf_t opf, int nr, struct buffer_head *bhs[])
-{
-	const enum req_op op = opf & REQ_OP_MASK;
-	int i;
-
-	for (i = 0; i < nr; i++) {
-		struct buffer_head *bh = bhs[i];
-
-		if (!trylock_buffer(bh))
-			continue;
-		if (op == REQ_OP_WRITE) {
-			if (test_clear_buffer_dirty(bh)) {
-				bh->b_end_io = end_buffer_write_sync;
-				get_bh(bh);
-				submit_bh(opf, bh);
-				continue;
-			}
-		} else {
-			if (!buffer_uptodate(bh)) {
-				bh->b_end_io = end_buffer_read_sync;
-				get_bh(bh);
-				submit_bh(opf, bh);
-				continue;
-			}
-		}
-		unlock_buffer(bh);
-	}
-}
-EXPORT_SYMBOL(ll_rw_block);
-
 void write_dirty_buffer(struct buffer_head *bh, blk_opf_t op_flags)
 {
 	lock_buffer(bh);
diff --git a/include/linux/buffer_head.h b/include/linux/buffer_head.h
index 6d09785bed9f..b415d8bc2a09 100644
--- a/include/linux/buffer_head.h
+++ b/include/linux/buffer_head.h
@@ -223,7 +223,6 @@ struct buffer_head *alloc_buffer_head(gfp_t gfp_flags);
 void free_buffer_head(struct buffer_head * bh);
 void unlock_buffer(struct buffer_head *bh);
 void __lock_buffer(struct buffer_head *bh);
-void ll_rw_block(blk_opf_t, int, struct buffer_head * bh[]);
 int sync_dirty_buffer(struct buffer_head *bh);
 int __sync_dirty_buffer(struct buffer_head *bh, blk_opf_t op_flags);
 void write_dirty_buffer(struct buffer_head *bh, blk_opf_t op_flags);
-- 
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 12/14] fs/buffer: remove ll_rw_block() helper
Date: Thu, 1 Sep 2022 21:35:03 +0800	[thread overview]
Message-ID: <20220901133505.2510834-13-yi.zhang@huawei.com> (raw)
In-Reply-To: <20220901133505.2510834-1-yi.zhang@huawei.com>

Now that all ll_rw_block() users has been replaced to new safe helpers,
we just remove it here.

Signed-off-by: Zhang Yi <yi.zhang@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
---
 fs/buffer.c                 | 63 +++----------------------------------
 include/linux/buffer_head.h |  1 -
 2 files changed, 4 insertions(+), 60 deletions(-)

diff --git a/fs/buffer.c b/fs/buffer.c
index aec568b3ae52..2cccc7586b99 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -152,7 +152,7 @@ static void __end_buffer_read_notouch(struct buffer_head *bh, int uptodate)
 
 /*
  * Default synchronous end-of-IO handler..  Just mark it up-to-date and
- * unlock the buffer. This is what ll_rw_block uses too.
+ * unlock the buffer.
  */
 void end_buffer_read_sync(struct buffer_head *bh, int uptodate)
 {
@@ -491,8 +491,8 @@ int inode_has_buffers(struct inode *inode)
  * all already-submitted IO to complete, but does not queue any new
  * writes to the disk.
  *
- * To do O_SYNC writes, just queue the buffer writes with ll_rw_block as
- * you dirty the buffers, and then use osync_inode_buffers to wait for
+ * To do O_SYNC writes, just queue the buffer writes with write_dirty_buffer
+ * as you dirty the buffers, and then use osync_inode_buffers to wait for
  * completion.  Any other dirty buffers which are not yet queued for
  * write will not be flushed to disk by the osync.
  */
@@ -1806,7 +1806,7 @@ int __block_write_full_page(struct inode *inode, struct page *page,
 		/*
 		 * The page was marked dirty, but the buffers were
 		 * clean.  Someone wrote them back by hand with
-		 * ll_rw_block/submit_bh.  A rare case.
+		 * write_dirty_buffer/submit_bh.  A rare case.
 		 */
 		end_page_writeback(page);
 
@@ -2713,61 +2713,6 @@ int submit_bh(blk_opf_t opf, struct buffer_head *bh)
 }
 EXPORT_SYMBOL(submit_bh);
 
-/**
- * ll_rw_block: low-level access to block devices (DEPRECATED)
- * @opf: block layer request operation and flags.
- * @nr: number of &struct buffer_heads in the array
- * @bhs: array of pointers to &struct buffer_head
- *
- * ll_rw_block() takes an array of pointers to &struct buffer_heads, and
- * requests an I/O operation on them, either a %REQ_OP_READ or a %REQ_OP_WRITE.
- * @opf contains flags modifying the detailed I/O behavior, most notably
- * %REQ_RAHEAD.
- *
- * This function drops any buffer that it cannot get a lock on (with the
- * BH_Lock state bit), any buffer that appears to be clean when doing a write
- * request, and any buffer that appears to be up-to-date when doing read
- * request.  Further it marks as clean buffers that are processed for
- * writing (the buffer cache won't assume that they are actually clean
- * until the buffer gets unlocked).
- *
- * ll_rw_block sets b_end_io to simple completion handler that marks
- * the buffer up-to-date (if appropriate), unlocks the buffer and wakes
- * any waiters. 
- *
- * All of the buffers must be for the same device, and must also be a
- * multiple of the current approved size for the device.
- */
-void ll_rw_block(const blk_opf_t opf, int nr, struct buffer_head *bhs[])
-{
-	const enum req_op op = opf & REQ_OP_MASK;
-	int i;
-
-	for (i = 0; i < nr; i++) {
-		struct buffer_head *bh = bhs[i];
-
-		if (!trylock_buffer(bh))
-			continue;
-		if (op == REQ_OP_WRITE) {
-			if (test_clear_buffer_dirty(bh)) {
-				bh->b_end_io = end_buffer_write_sync;
-				get_bh(bh);
-				submit_bh(opf, bh);
-				continue;
-			}
-		} else {
-			if (!buffer_uptodate(bh)) {
-				bh->b_end_io = end_buffer_read_sync;
-				get_bh(bh);
-				submit_bh(opf, bh);
-				continue;
-			}
-		}
-		unlock_buffer(bh);
-	}
-}
-EXPORT_SYMBOL(ll_rw_block);
-
 void write_dirty_buffer(struct buffer_head *bh, blk_opf_t op_flags)
 {
 	lock_buffer(bh);
diff --git a/include/linux/buffer_head.h b/include/linux/buffer_head.h
index 6d09785bed9f..b415d8bc2a09 100644
--- a/include/linux/buffer_head.h
+++ b/include/linux/buffer_head.h
@@ -223,7 +223,6 @@ struct buffer_head *alloc_buffer_head(gfp_t gfp_flags);
 void free_buffer_head(struct buffer_head * bh);
 void unlock_buffer(struct buffer_head *bh);
 void __lock_buffer(struct buffer_head *bh);
-void ll_rw_block(blk_opf_t, int, struct buffer_head * bh[]);
 int sync_dirty_buffer(struct buffer_head *bh);
 int __sync_dirty_buffer(struct buffer_head *bh, blk_opf_t op_flags);
 void write_dirty_buffer(struct buffer_head *bh, blk_opf_t op_flags);
-- 
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 12/14] fs/buffer: remove ll_rw_block() helper
Date: Thu, 1 Sep 2022 21:35:03 +0800	[thread overview]
Message-ID: <20220901133505.2510834-13-yi.zhang@huawei.com> (raw)
In-Reply-To: <20220901133505.2510834-1-yi.zhang@huawei.com>

Now that all ll_rw_block() users has been replaced to new safe helpers,
we just remove it here.

Signed-off-by: Zhang Yi <yi.zhang@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
---
 fs/buffer.c                 | 63 +++----------------------------------
 include/linux/buffer_head.h |  1 -
 2 files changed, 4 insertions(+), 60 deletions(-)

diff --git a/fs/buffer.c b/fs/buffer.c
index aec568b3ae52..2cccc7586b99 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -152,7 +152,7 @@ static void __end_buffer_read_notouch(struct buffer_head *bh, int uptodate)
 
 /*
  * Default synchronous end-of-IO handler..  Just mark it up-to-date and
- * unlock the buffer. This is what ll_rw_block uses too.
+ * unlock the buffer.
  */
 void end_buffer_read_sync(struct buffer_head *bh, int uptodate)
 {
@@ -491,8 +491,8 @@ int inode_has_buffers(struct inode *inode)
  * all already-submitted IO to complete, but does not queue any new
  * writes to the disk.
  *
- * To do O_SYNC writes, just queue the buffer writes with ll_rw_block as
- * you dirty the buffers, and then use osync_inode_buffers to wait for
+ * To do O_SYNC writes, just queue the buffer writes with write_dirty_buffer
+ * as you dirty the buffers, and then use osync_inode_buffers to wait for
  * completion.  Any other dirty buffers which are not yet queued for
  * write will not be flushed to disk by the osync.
  */
@@ -1806,7 +1806,7 @@ int __block_write_full_page(struct inode *inode, struct page *page,
 		/*
 		 * The page was marked dirty, but the buffers were
 		 * clean.  Someone wrote them back by hand with
-		 * ll_rw_block/submit_bh.  A rare case.
+		 * write_dirty_buffer/submit_bh.  A rare case.
 		 */
 		end_page_writeback(page);
 
@@ -2713,61 +2713,6 @@ int submit_bh(blk_opf_t opf, struct buffer_head *bh)
 }
 EXPORT_SYMBOL(submit_bh);
 
-/**
- * ll_rw_block: low-level access to block devices (DEPRECATED)
- * @opf: block layer request operation and flags.
- * @nr: number of &struct buffer_heads in the array
- * @bhs: array of pointers to &struct buffer_head
- *
- * ll_rw_block() takes an array of pointers to &struct buffer_heads, and
- * requests an I/O operation on them, either a %REQ_OP_READ or a %REQ_OP_WRITE.
- * @opf contains flags modifying the detailed I/O behavior, most notably
- * %REQ_RAHEAD.
- *
- * This function drops any buffer that it cannot get a lock on (with the
- * BH_Lock state bit), any buffer that appears to be clean when doing a write
- * request, and any buffer that appears to be up-to-date when doing read
- * request.  Further it marks as clean buffers that are processed for
- * writing (the buffer cache won't assume that they are actually clean
- * until the buffer gets unlocked).
- *
- * ll_rw_block sets b_end_io to simple completion handler that marks
- * the buffer up-to-date (if appropriate), unlocks the buffer and wakes
- * any waiters. 
- *
- * All of the buffers must be for the same device, and must also be a
- * multiple of the current approved size for the device.
- */
-void ll_rw_block(const blk_opf_t opf, int nr, struct buffer_head *bhs[])
-{
-	const enum req_op op = opf & REQ_OP_MASK;
-	int i;
-
-	for (i = 0; i < nr; i++) {
-		struct buffer_head *bh = bhs[i];
-
-		if (!trylock_buffer(bh))
-			continue;
-		if (op == REQ_OP_WRITE) {
-			if (test_clear_buffer_dirty(bh)) {
-				bh->b_end_io = end_buffer_write_sync;
-				get_bh(bh);
-				submit_bh(opf, bh);
-				continue;
-			}
-		} else {
-			if (!buffer_uptodate(bh)) {
-				bh->b_end_io = end_buffer_read_sync;
-				get_bh(bh);
-				submit_bh(opf, bh);
-				continue;
-			}
-		}
-		unlock_buffer(bh);
-	}
-}
-EXPORT_SYMBOL(ll_rw_block);
-
 void write_dirty_buffer(struct buffer_head *bh, blk_opf_t op_flags)
 {
 	lock_buffer(bh);
diff --git a/include/linux/buffer_head.h b/include/linux/buffer_head.h
index 6d09785bed9f..b415d8bc2a09 100644
--- a/include/linux/buffer_head.h
+++ b/include/linux/buffer_head.h
@@ -223,7 +223,6 @@ struct buffer_head *alloc_buffer_head(gfp_t gfp_flags);
 void free_buffer_head(struct buffer_head * bh);
 void unlock_buffer(struct buffer_head *bh);
 void __lock_buffer(struct buffer_head *bh);
-void ll_rw_block(blk_opf_t, int, struct buffer_head * bh[]);
 int sync_dirty_buffer(struct buffer_head *bh);
 int __sync_dirty_buffer(struct buffer_head *bh, blk_opf_t op_flags);
 void write_dirty_buffer(struct buffer_head *bh, blk_opf_t op_flags);
-- 
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: axboe@kernel.dk, tytso@mit.edu, yi.zhang@huawei.com,
	mark@fasheh.com, almaz.alexandrovich@paragon-software.com,
	viro@zeniv.linux.org.uk, yukuai3@huawei.com, dushistov@mail.ru,
	akpm@linux-foundation.org, chengzhihao1@huawei.com
Subject: [PATCH v2 12/14] fs/buffer: remove ll_rw_block() helper
Date: Thu, 1 Sep 2022 21:35:03 +0800	[thread overview]
Message-ID: <20220901133505.2510834-13-yi.zhang@huawei.com> (raw)
In-Reply-To: <20220901133505.2510834-1-yi.zhang@huawei.com>

Now that all ll_rw_block() users has been replaced to new safe helpers,
we just remove it here.

Signed-off-by: Zhang Yi <yi.zhang@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
---
 fs/buffer.c                 | 63 +++----------------------------------
 include/linux/buffer_head.h |  1 -
 2 files changed, 4 insertions(+), 60 deletions(-)

diff --git a/fs/buffer.c b/fs/buffer.c
index aec568b3ae52..2cccc7586b99 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -152,7 +152,7 @@ static void __end_buffer_read_notouch(struct buffer_head *bh, int uptodate)
 
 /*
  * Default synchronous end-of-IO handler..  Just mark it up-to-date and
- * unlock the buffer. This is what ll_rw_block uses too.
+ * unlock the buffer.
  */
 void end_buffer_read_sync(struct buffer_head *bh, int uptodate)
 {
@@ -491,8 +491,8 @@ int inode_has_buffers(struct inode *inode)
  * all already-submitted IO to complete, but does not queue any new
  * writes to the disk.
  *
- * To do O_SYNC writes, just queue the buffer writes with ll_rw_block as
- * you dirty the buffers, and then use osync_inode_buffers to wait for
+ * To do O_SYNC writes, just queue the buffer writes with write_dirty_buffer
+ * as you dirty the buffers, and then use osync_inode_buffers to wait for
  * completion.  Any other dirty buffers which are not yet queued for
  * write will not be flushed to disk by the osync.
  */
@@ -1806,7 +1806,7 @@ int __block_write_full_page(struct inode *inode, struct page *page,
 		/*
 		 * The page was marked dirty, but the buffers were
 		 * clean.  Someone wrote them back by hand with
-		 * ll_rw_block/submit_bh.  A rare case.
+		 * write_dirty_buffer/submit_bh.  A rare case.
 		 */
 		end_page_writeback(page);
 
@@ -2713,61 +2713,6 @@ int submit_bh(blk_opf_t opf, struct buffer_head *bh)
 }
 EXPORT_SYMBOL(submit_bh);
 
-/**
- * ll_rw_block: low-level access to block devices (DEPRECATED)
- * @opf: block layer request operation and flags.
- * @nr: number of &struct buffer_heads in the array
- * @bhs: array of pointers to &struct buffer_head
- *
- * ll_rw_block() takes an array of pointers to &struct buffer_heads, and
- * requests an I/O operation on them, either a %REQ_OP_READ or a %REQ_OP_WRITE.
- * @opf contains flags modifying the detailed I/O behavior, most notably
- * %REQ_RAHEAD.
- *
- * This function drops any buffer that it cannot get a lock on (with the
- * BH_Lock state bit), any buffer that appears to be clean when doing a write
- * request, and any buffer that appears to be up-to-date when doing read
- * request.  Further it marks as clean buffers that are processed for
- * writing (the buffer cache won't assume that they are actually clean
- * until the buffer gets unlocked).
- *
- * ll_rw_block sets b_end_io to simple completion handler that marks
- * the buffer up-to-date (if appropriate), unlocks the buffer and wakes
- * any waiters. 
- *
- * All of the buffers must be for the same device, and must also be a
- * multiple of the current approved size for the device.
- */
-void ll_rw_block(const blk_opf_t opf, int nr, struct buffer_head *bhs[])
-{
-	const enum req_op op = opf & REQ_OP_MASK;
-	int i;
-
-	for (i = 0; i < nr; i++) {
-		struct buffer_head *bh = bhs[i];
-
-		if (!trylock_buffer(bh))
-			continue;
-		if (op == REQ_OP_WRITE) {
-			if (test_clear_buffer_dirty(bh)) {
-				bh->b_end_io = end_buffer_write_sync;
-				get_bh(bh);
-				submit_bh(opf, bh);
-				continue;
-			}
-		} else {
-			if (!buffer_uptodate(bh)) {
-				bh->b_end_io = end_buffer_read_sync;
-				get_bh(bh);
-				submit_bh(opf, bh);
-				continue;
-			}
-		}
-		unlock_buffer(bh);
-	}
-}
-EXPORT_SYMBOL(ll_rw_block);
-
 void write_dirty_buffer(struct buffer_head *bh, blk_opf_t op_flags)
 {
 	lock_buffer(bh);
diff --git a/include/linux/buffer_head.h b/include/linux/buffer_head.h
index 6d09785bed9f..b415d8bc2a09 100644
--- a/include/linux/buffer_head.h
+++ b/include/linux/buffer_head.h
@@ -223,7 +223,6 @@ struct buffer_head *alloc_buffer_head(gfp_t gfp_flags);
 void free_buffer_head(struct buffer_head * bh);
 void unlock_buffer(struct buffer_head *bh);
 void __lock_buffer(struct buffer_head *bh);
-void ll_rw_block(blk_opf_t, int, struct buffer_head * bh[]);
 int sync_dirty_buffer(struct buffer_head *bh);
 int __sync_dirty_buffer(struct buffer_head *bh, blk_opf_t op_flags);
 void write_dirty_buffer(struct buffer_head *bh, blk_opf_t op_flags);
-- 
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 ` [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 ` Zhang Yi via Ocfs2-devel [this message]
2022-09-01 13:35   ` [PATCH v2 12/14] fs/buffer: remove ll_rw_block() helper 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-13-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.