2022-08-18 05:14:46

by Ritesh Harjani

[permalink] [raw]
Subject: [PATCHv3 0/4] submit_bh: Drop unnecessary return value

submit_bh/submit_bh_wbc are non-blocking functions which just submits
the bio and returns. The caller of submit_bh/submit_bh_wbc needs to wait
on buffer till I/O completion and then check buffer head's b_state field
to know if there was any I/O error.

Hence there is no need for these functions to have any return type.
Even now they always returns 0. Hence drop the return value and make
their return type as void to avoid any confusion.

PATCHv2 -> PATCHv3
===================
1. Rebased on top of the latest 6.0-rc1 release.
Recently REQ_OP_** req operations and REQ_** flags were combined as one
parameter (blk_opf_t type) to submit_bh() API.
2. Since the patch series remains trivial on rebase, I have retained the
reviewed-by from Jan and Christoph.

RFC -> PATCHv2
===============
1. Added Patch-2 to fix ntfs_submit_bh_for_read() caller.
2. Added Reviewed-by from Christoph.

Ritesh Harjani (IBM) (4):
jbd2: Drop useless return value of submit_bh
fs/ntfs: Drop useless return value of submit_bh from ntfs_submit_bh_for_read
fs/buffer: Drop useless return value of submit_bh
fs/buffer: Make submit_bh & submit_bh_wbc return type as void

fs/buffer.c | 23 ++++++++++-------------
fs/jbd2/commit.c | 10 ++++------
fs/jbd2/journal.c | 9 ++++-----
fs/ntfs/file.c | 4 ++--
include/linux/buffer_head.h | 2 +-
5 files changed, 21 insertions(+), 27 deletions(-)

--
2.35.3


2022-08-18 05:14:46

by Ritesh Harjani

[permalink] [raw]
Subject: [PATCHv3 4/4] fs/buffer: Make submit_bh & submit_bh_wbc return type as void

submit_bh/submit_bh_wbc are non-blocking functions which just submit
the bio and return. The caller of submit_bh/submit_bh_wbc needs to wait
on buffer till I/O completion and then check buffer head's b_state field
to know if there was any I/O error.

Hence there is no need for these functions to have any return type.
Even now they always returns 0. Hence drop the return value and make
their return type as void to avoid any confusion.

Reviewed-by: Christoph Hellwig <[email protected]>
Reviewed-by: Jan Kara <[email protected]>
Signed-off-by: Ritesh Harjani (IBM) <[email protected]>
---
fs/buffer.c | 13 ++++++-------
include/linux/buffer_head.h | 2 +-
2 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/fs/buffer.c b/fs/buffer.c
index c21b72c06eb0..0a7ba84c1905 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -52,8 +52,8 @@
#include "internal.h"

static int fsync_buffers_list(spinlock_t *lock, struct list_head *list);
-static int submit_bh_wbc(blk_opf_t opf, struct buffer_head *bh,
- struct writeback_control *wbc);
+static void submit_bh_wbc(blk_opf_t opf, struct buffer_head *bh,
+ struct writeback_control *wbc);

#define BH_ENTRY(list) list_entry((list), struct buffer_head, b_assoc_buffers)

@@ -2673,8 +2673,8 @@ static void end_bio_bh_io_sync(struct bio *bio)
bio_put(bio);
}

-static int submit_bh_wbc(blk_opf_t opf, struct buffer_head *bh,
- struct writeback_control *wbc)
+static void submit_bh_wbc(blk_opf_t opf, struct buffer_head *bh,
+ struct writeback_control *wbc)
{
const enum req_op op = opf & REQ_OP_MASK;
struct bio *bio;
@@ -2717,12 +2717,11 @@ static int submit_bh_wbc(blk_opf_t opf, struct buffer_head *bh,
}

submit_bio(bio);
- return 0;
}

-int submit_bh(blk_opf_t opf, struct buffer_head *bh)
+void submit_bh(blk_opf_t opf, struct buffer_head *bh)
{
- return submit_bh_wbc(opf, bh, NULL);
+ submit_bh_wbc(opf, bh, NULL);
}
EXPORT_SYMBOL(submit_bh);

diff --git a/include/linux/buffer_head.h b/include/linux/buffer_head.h
index def8b8d30ccc..b1373844c43d 100644
--- a/include/linux/buffer_head.h
+++ b/include/linux/buffer_head.h
@@ -229,7 +229,7 @@ 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);
-int submit_bh(blk_opf_t, struct buffer_head *);
+void submit_bh(blk_opf_t, struct buffer_head *);
void write_boundary_block(struct block_device *bdev,
sector_t bblock, unsigned blocksize);
int bh_uptodate_or_lock(struct buffer_head *bh);
--
2.35.3

2022-09-29 15:06:45

by Theodore Ts'o

[permalink] [raw]
Subject: Re: [PATCHv3 0/4] submit_bh: Drop unnecessary return value

On Thu, 18 Aug 2022 10:34:36 +0530, Ritesh Harjani (IBM) wrote:
> submit_bh/submit_bh_wbc are non-blocking functions which just submits
> the bio and returns. The caller of submit_bh/submit_bh_wbc needs to wait
> on buffer till I/O completion and then check buffer head's b_state field
> to know if there was any I/O error.
>
> Hence there is no need for these functions to have any return type.
> Even now they always returns 0. Hence drop the return value and make
> their return type as void to avoid any confusion.
>
> [...]

Applied, thanks!

[1/4] jbd2: Drop useless return value of submit_bh
commit: c2939da1fe8b25c82c1991eb983638463ed84a0c
[2/4] fs/ntfs: Drop useless return value of submit_bh from ntfs_submit_bh_for_read
commit: f102f1ab784c91c559a3505d024008ff2decc77f
[3/4] fs/buffer: Drop useless return value of submit_bh
commit: 7cb83d3c0c485b3b035cdcac4c6ef4937f920c59
[4/4] fs/buffer: Make submit_bh & submit_bh_wbc return type as void
commit: 54a55bcabb92f7522e006ca38575159c41914c56

Best regards,
--
Theodore Ts'o <[email protected]>