linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Sterba <dsterba@suse.com>
To: linux-btrfs@vger.kernel.org
Cc: David Sterba <dsterba@suse.com>
Subject: [PATCH 23/40] btrfs: pass btrfs_inode to btrfs_check_data_csum
Date: Tue,  1 Nov 2022 21:12:30 +0100	[thread overview]
Message-ID: <3c6fbfd362adb7dbac13309de1246b36af6ba240.1667331828.git.dsterba@suse.com> (raw)
In-Reply-To: <cover.1667331828.git.dsterba@suse.com>

The function is for internal interfaces so we should use the
btrfs_inode.

Signed-off-by: David Sterba <dsterba@suse.com>
---
 fs/btrfs/btrfs_inode.h |  4 +---
 fs/btrfs/compression.c |  2 +-
 fs/btrfs/inode.c       | 15 +++++++--------
 3 files changed, 9 insertions(+), 12 deletions(-)

diff --git a/fs/btrfs/btrfs_inode.h b/fs/btrfs/btrfs_inode.h
index 279bbbc59dc6..ba0dbdc91ec5 100644
--- a/fs/btrfs/btrfs_inode.h
+++ b/fs/btrfs/btrfs_inode.h
@@ -421,13 +421,11 @@ blk_status_t btrfs_submit_bio_start_direct_io(struct btrfs_inode *inode,
 					      u64 dio_file_offset);
 int btrfs_check_sector_csum(struct btrfs_fs_info *fs_info, struct page *page,
 			    u32 pgoff, u8 *csum, const u8 * const csum_expected);
-int btrfs_check_data_csum(struct inode *inode, struct btrfs_bio *bbio,
+int btrfs_check_data_csum(struct btrfs_inode *inode, struct btrfs_bio *bbio,
 			  u32 bio_offset, struct page *page, u32 pgoff);
 unsigned int btrfs_verify_data_csum(struct btrfs_bio *bbio,
 				    u32 bio_offset, struct page *page,
 				    u64 start, u64 end);
-int btrfs_check_data_csum(struct inode *inode, struct btrfs_bio *bbio,
-			  u32 bio_offset, struct page *page, u32 pgoff);
 noinline int can_nocow_extent(struct inode *inode, u64 offset, u64 *len,
 			      u64 *orig_start, u64 *orig_block_len,
 			      u64 *ram_bytes, bool nowait, bool strict);
diff --git a/fs/btrfs/compression.c b/fs/btrfs/compression.c
index 7e9135ddaebb..a58aab446b1f 100644
--- a/fs/btrfs/compression.c
+++ b/fs/btrfs/compression.c
@@ -186,7 +186,7 @@ static void end_compressed_bio_read(struct btrfs_bio *bbio)
 		u64 start = bbio->file_offset + offset;
 
 		if (!status &&
-		    (!csum || !btrfs_check_data_csum(inode, bbio, offset,
+		    (!csum || !btrfs_check_data_csum(bi, bbio, offset,
 						     bv.bv_page, bv.bv_offset))) {
 			btrfs_clean_io_failure(bi, start, bv.bv_page,
 					       bv.bv_offset);
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 3e2cb80c6c63..b0504743613c 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -3490,10 +3490,10 @@ static u8 *btrfs_csum_ptr(const struct btrfs_fs_info *fs_info, u8 *csums, u64 of
  * When csum mismatch is detected, we will also report the error and fill the
  * corrupted range with zero. (Thus it needs the extra parameters)
  */
-int btrfs_check_data_csum(struct inode *inode, struct btrfs_bio *bbio,
+int btrfs_check_data_csum(struct btrfs_inode *inode, struct btrfs_bio *bbio,
 			  u32 bio_offset, struct page *page, u32 pgoff)
 {
-	struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb);
+	struct btrfs_fs_info *fs_info = inode->root->fs_info;
 	u32 len = fs_info->sectorsize;
 	u8 *csum_expected;
 	u8 csum[BTRFS_CSUM_SIZE];
@@ -3507,8 +3507,7 @@ int btrfs_check_data_csum(struct inode *inode, struct btrfs_bio *bbio,
 	return 0;
 
 zeroit:
-	btrfs_print_data_csum_error(BTRFS_I(inode),
-				    bbio->file_offset + bio_offset,
+	btrfs_print_data_csum_error(inode, bbio->file_offset + bio_offset,
 				    csum, csum_expected, bbio->mirror_num);
 	if (bbio->device)
 		btrfs_dev_stat_inc_and_print(bbio->device,
@@ -3573,7 +3572,7 @@ unsigned int btrfs_verify_data_csum(struct btrfs_bio *bbio,
 					  EXTENT_NODATASUM);
 			continue;
 		}
-		ret = btrfs_check_data_csum(inode, bbio, bio_offset, page, pg_off);
+		ret = btrfs_check_data_csum(BTRFS_I(inode), bbio, bio_offset, page, pg_off);
 		if (ret < 0) {
 			const int nr_bit = (pg_off - offset_in_page(start)) >>
 				     root->fs_info->sectorsize_bits;
@@ -7942,8 +7941,8 @@ static blk_status_t btrfs_check_read_dio_bio(struct btrfs_dio_private *dip,
 		u64 start = bbio->file_offset + offset;
 
 		if (uptodate &&
-		    (!csum || !btrfs_check_data_csum(inode, bbio, offset, bv.bv_page,
-					       bv.bv_offset))) {
+		    (!csum || !btrfs_check_data_csum(BTRFS_I(inode), bbio, offset,
+						     bv.bv_page, bv.bv_offset))) {
 			btrfs_clean_io_failure(BTRFS_I(inode), start,
 					       bv.bv_page, bv.bv_offset);
 		} else {
@@ -10333,7 +10332,7 @@ static blk_status_t btrfs_encoded_read_verify_csum(struct btrfs_bio *bbio)
 		pgoff = bvec->bv_offset;
 		for (i = 0; i < nr_sectors; i++) {
 			ASSERT(pgoff < PAGE_SIZE);
-			if (btrfs_check_data_csum(&inode->vfs_inode, bbio, bio_offset,
+			if (btrfs_check_data_csum(inode, bbio, bio_offset,
 					    bvec->bv_page, pgoff))
 				return BLK_STS_IOERR;
 			bio_offset += sectorsize;
-- 
2.37.3


  parent reply	other threads:[~2022-11-01 20:12 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-01 20:11 [PATCH 00/40] Parameter and type changes to btrfs_inode David Sterba
2022-11-01 20:11 ` [PATCH 01/40] btrfs: change how repair action is passed to btrfs_repair_one_sector David Sterba
2022-11-01 20:11 ` [PATCH 02/40] btrfs: drop parameter compression_type from btrfs_submit_dio_repair_bio David Sterba
2022-11-01 20:11 ` [PATCH 03/40] btrfs: change how submit bio callback is passed to btrfs_wq_submit_bio David Sterba
2022-11-01 20:11 ` [PATCH 04/40] btrfs: simplify btree_submit_bio_start and btrfs_submit_bio_start parameters David Sterba
2022-11-02  0:12   ` Anand Jain
2022-11-03 13:28     ` David Sterba
2022-11-03 14:34       ` Anand Jain
2022-11-01 20:11 ` [PATCH 05/40] btrfs: switch async_submit_bio::inode to btrfs_inode David Sterba
2022-11-01 20:11 ` [PATCH 06/40] btrfs: pass btrfs_inode to btrfs_submit_bio_start David Sterba
2022-11-01 20:11 ` [PATCH 07/40] btrfs: pass btrfs_inode to btrfs_submit_bio_start_direct_io David Sterba
2022-11-01 20:11 ` [PATCH 08/40] btrfs: pass btrfs_inode to btrfs_wq_submit_bio David Sterba
2022-11-01 20:11 ` [PATCH 09/40] btrfs: pass btrfs_inode to btrfs_submit_metadata_bio David Sterba
2022-11-01 20:12 ` [PATCH 10/40] btrfs: pass btrfs_inode to btrfs_submit_data_write_bio David Sterba
2022-11-01 20:12 ` [PATCH 11/40] btrfs: pass btrfs_inode to btrfs_submit_data_read_bio David Sterba
2022-11-01 20:12 ` [PATCH 12/40] btrfs: pass btrfs_inode to btrfs_submit_dio_repair_bio David Sterba
2022-11-01 20:12 ` [PATCH 13/40] btrfs: pass btrfs_inode to submit_one_bio David Sterba
2022-11-01 20:12 ` [PATCH 14/40] btrfs: pass btrfs_inode to btrfs_repair_one_sector David Sterba
2022-11-01 20:12 ` [PATCH 15/40] btrfs: switch btrfs_dio_private::inode to btrfs_inode David Sterba
2022-11-01 20:12 ` [PATCH 16/40] btrfs: pass btrfs_inode to btrfs_submit_dio_bio David Sterba
2022-11-01 20:12 ` [PATCH 17/40] btrfs: pass btrfs_inode to btrfs_truncate David Sterba
2022-11-01 20:12 ` [PATCH 18/40] btrfs: pass btrfs_inode to btrfs_inode_lock David Sterba
2022-11-01 20:12 ` [PATCH 19/40] btrfs: pass btrfs_inode to btrfs_inode_unlock David Sterba
2022-11-01 20:12 ` [PATCH 20/40] btrfs: pass btrfs_inode to btrfs_dirty_inode David Sterba
2022-11-01 20:12 ` [PATCH 21/40] btrfs: pass btrfs_inode to btrfs_add_delalloc_inodes David Sterba
2022-11-01 20:12 ` [PATCH 22/40] btrfs: switch btrfs_writepage_fixup::inode to btrfs_inode David Sterba
2022-11-01 20:12 ` David Sterba [this message]
2022-11-01 20:12 ` [PATCH 24/40] btrfs: pass btrfs_inode to __unlink_start_trans David Sterba
2022-11-01 20:12 ` [PATCH 25/40] btrfs: pass btrfs_inode to btrfs_delete_subvolume David Sterba
2022-11-01 20:12 ` [PATCH 26/40] btrfs: drop private_data parameter from extent_io_tree_init David Sterba
2022-11-01 20:12 ` [PATCH 27/40] btrfs: switch extent_io_tree::private_data to btrfs_inode and rename David Sterba
2022-11-01 20:12 ` [PATCH 28/40] btrfs: pass btrfs_inode to btrfs_merge_delalloc_extent David Sterba
2022-11-01 20:12 ` [PATCH 29/40] btrfs: pass btrfs_inode to btrfs_set_delalloc_extent David Sterba
2022-11-01 20:12 ` [PATCH 30/40] btrfs: pass btrfs_inode to btrfs_split_delalloc_extent David Sterba
2022-11-01 20:12 ` [PATCH 31/40] btrfs: pass btrfs_inode to btrfs_clear_delalloc_extent David Sterba
2022-11-01 20:12 ` [PATCH 32/40] btrfs: pass btrfs_inode to btrfs_unlink_subvol David Sterba
2022-11-01 20:12 ` [PATCH 33/40] btrfs: pass btrfs_inode to btrfs_inode_by_name David Sterba
2022-11-01 20:12 ` [PATCH 34/40] btrfs: pass btrfs_inode to fixup_tree_root_location David Sterba
2022-11-01 20:12 ` [PATCH 35/40] btrfs: pass btrfs_inode to inode_tree_add David Sterba
2022-11-01 20:12 ` [PATCH 36/40] btrfs: pass btrfs_inode to btrfs_inherit_iflags David Sterba
2022-11-01 20:13 ` [PATCH 37/40] btrfs: switch async_chunk::inode to btrfs_inode David Sterba
2022-11-01 20:13 ` [PATCH 38/40] btrfs: use btrfs_inode inside compress_file_range David Sterba
2022-11-01 20:13 ` [PATCH 39/40] btrfs: use btrfs_inode inside btrfs_verify_data_csum David Sterba
2022-11-01 20:13 ` [PATCH 40/40] btrfs: pass btrfs_inode to btrfs_add_delayed_iput David Sterba
2022-11-03 14:45 ` [PATCH 00/40] Parameter and type changes to btrfs_inode Anand Jain
2022-11-11 15:40   ` David Sterba

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=3c6fbfd362adb7dbac13309de1246b36af6ba240.1667331828.git.dsterba@suse.com \
    --to=dsterba@suse.com \
    --cc=linux-btrfs@vger.kernel.org \
    /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).