aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNikolay Borisov <nborisov@suse.com>2017-02-20 06:50:54 -0500
committerDavid Sterba <dsterba@suse.com>2017-02-28 05:30:09 -0500
commitf898ac6ae339782bc304b2b15c9e187e438da9f7 (patch)
treec5f24586f325f8cc832cddd5675f44643c6924df
parent0970a22e58d4c49f2c3e84519613a9db8f00f579 (diff)
btrfs: make check_compressed_csum take btrfs_inode
Signed-off-by: Nikolay Borisov <nborisov@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
-rw-r--r--fs/btrfs/compression.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/fs/btrfs/compression.c b/fs/btrfs/compression.c
index 9ce85d5e5cae..f32e86b61240 100644
--- a/fs/btrfs/compression.c
+++ b/fs/btrfs/compression.c
@@ -100,7 +100,7 @@ static struct bio *compressed_bio_alloc(struct block_device *bdev,
100 return btrfs_bio_alloc(bdev, first_byte >> 9, BIO_MAX_PAGES, gfp_flags); 100 return btrfs_bio_alloc(bdev, first_byte >> 9, BIO_MAX_PAGES, gfp_flags);
101} 101}
102 102
103static int check_compressed_csum(struct inode *inode, 103static int check_compressed_csum(struct btrfs_inode *inode,
104 struct compressed_bio *cb, 104 struct compressed_bio *cb,
105 u64 disk_start) 105 u64 disk_start)
106{ 106{
@@ -111,7 +111,7 @@ static int check_compressed_csum(struct inode *inode,
111 u32 csum; 111 u32 csum;
112 u32 *cb_sum = &cb->sums; 112 u32 *cb_sum = &cb->sums;
113 113
114 if (BTRFS_I(inode)->flags & BTRFS_INODE_NODATASUM) 114 if (inode->flags & BTRFS_INODE_NODATASUM)
115 return 0; 115 return 0;
116 116
117 for (i = 0; i < cb->nr_pages; i++) { 117 for (i = 0; i < cb->nr_pages; i++) {
@@ -124,8 +124,7 @@ static int check_compressed_csum(struct inode *inode,
124 kunmap_atomic(kaddr); 124 kunmap_atomic(kaddr);
125 125
126 if (csum != *cb_sum) { 126 if (csum != *cb_sum) {
127 btrfs_print_data_csum_error(BTRFS_I(inode), 127 btrfs_print_data_csum_error(inode, disk_start, csum,
128 disk_start, csum,
129 *cb_sum, cb->mirror_num); 128 *cb_sum, cb->mirror_num);
130 ret = -EIO; 129 ret = -EIO;
131 goto fail; 130 goto fail;
@@ -166,7 +165,7 @@ static void end_compressed_bio_read(struct bio *bio)
166 goto out; 165 goto out;
167 166
168 inode = cb->inode; 167 inode = cb->inode;
169 ret = check_compressed_csum(inode, cb, 168 ret = check_compressed_csum(BTRFS_I(inode), cb,
170 (u64)bio->bi_iter.bi_sector << 9); 169 (u64)bio->bi_iter.bi_sector << 9);
171 if (ret) 170 if (ret)
172 goto csum_failed; 171 goto csum_failed;