Commit bd242a08 authored by Nikolay Borisov's avatar Nikolay Borisov Committed by David Sterba
Browse files

btrfs: make btrfs_csum_one_bio takae btrfs_inode



Will enable converting btrfs_submit_compressed_write to btrfs_inode more
easily.

Signed-off-by: default avatarNikolay Borisov <nborisov@suse.com>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent ad7ff17b
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -475,7 +475,8 @@ blk_status_t btrfs_submit_compressed_write(struct inode *inode, u64 start,
			BUG_ON(ret); /* -ENOMEM */

			if (!skip_sum) {
				ret = btrfs_csum_one_bio(inode, bio, start, 1);
				ret = btrfs_csum_one_bio(BTRFS_I(inode), bio,
							 start, 1);
				BUG_ON(ret); /* -ENOMEM */
			}

@@ -507,7 +508,7 @@ blk_status_t btrfs_submit_compressed_write(struct inode *inode, u64 start,
	BUG_ON(ret); /* -ENOMEM */

	if (!skip_sum) {
		ret = btrfs_csum_one_bio(inode, bio, start, 1);
		ret = btrfs_csum_one_bio(BTRFS_I(inode), bio, start, 1);
		BUG_ON(ret); /* -ENOMEM */
	}

+2 −2
Original line number Diff line number Diff line
@@ -2883,7 +2883,7 @@ int btrfs_lookup_file_extent(struct btrfs_trans_handle *trans,
int btrfs_csum_file_blocks(struct btrfs_trans_handle *trans,
			   struct btrfs_root *root,
			   struct btrfs_ordered_sum *sums);
blk_status_t btrfs_csum_one_bio(struct inode *inode, struct bio *bio,
blk_status_t btrfs_csum_one_bio(struct btrfs_inode *inode, struct bio *bio,
				u64 file_start, int contig);
int btrfs_lookup_csums_range(struct btrfs_root *root, u64 start, u64 end,
			     struct list_head *list, int search_commit);
+1 −2
Original line number Diff line number Diff line
@@ -522,10 +522,9 @@ fail:
 *		 means this bio can contains potentially discontigous bio vecs
 *		 so the logical offset of each should be calculated separately.
 */
blk_status_t btrfs_csum_one_bio(struct inode *vfsinode, struct bio *bio,
blk_status_t btrfs_csum_one_bio(struct btrfs_inode *inode, struct bio *bio,
		       u64 file_start, int contig)
{
	struct btrfs_inode *inode = BTRFS_I(vfsinode);
	struct btrfs_fs_info *fs_info = inode->root->fs_info;
	SHASH_DESC_ON_STACK(shash, fs_info->csum_shash);
	struct btrfs_ordered_sum *sums;
+4 −4
Original line number Diff line number Diff line
@@ -2167,7 +2167,7 @@ static blk_status_t btrfs_submit_bio_start(void *private_data, struct bio *bio,
	struct inode *inode = private_data;
	blk_status_t ret = 0;

	ret = btrfs_csum_one_bio(inode, bio, 0, 0);
	ret = btrfs_csum_one_bio(BTRFS_I(inode), bio, 0, 0);
	BUG_ON(ret); /* -ENOMEM */
	return 0;
}
@@ -2232,7 +2232,7 @@ static blk_status_t btrfs_submit_bio_hook(struct inode *inode, struct bio *bio,
					  0, inode, btrfs_submit_bio_start);
		goto out;
	} else if (!skip_sum) {
		ret = btrfs_csum_one_bio(inode, bio, 0, 0);
		ret = btrfs_csum_one_bio(BTRFS_I(inode), bio, 0, 0);
		if (ret)
			goto out;
	}
@@ -7572,7 +7572,7 @@ static blk_status_t btrfs_submit_bio_start_direct_io(void *private_data,
{
	struct inode *inode = private_data;
	blk_status_t ret;
	ret = btrfs_csum_one_bio(inode, bio, offset, 1);
	ret = btrfs_csum_one_bio(BTRFS_I(inode), bio, offset, 1);
	BUG_ON(ret); /* -ENOMEM */
	return 0;
}
@@ -7633,7 +7633,7 @@ static inline blk_status_t btrfs_submit_dio_bio(struct bio *bio,
		 * If we aren't doing async submit, calculate the csum of the
		 * bio now.
		 */
		ret = btrfs_csum_one_bio(inode, bio, file_offset, 1);
		ret = btrfs_csum_one_bio(BTRFS_I(inode), bio, file_offset, 1);
		if (ret)
			goto err;
	} else {