cb->start = ordered->file_offset;
cb->len = ordered->num_bytes;
ASSERT(cb->bbio.bio.bi_iter.bi_size == ordered->disk_num_bytes);
- cb->compressed_len = ordered->disk_num_bytes;
cb->bbio.bio.bi_iter.bi_sector = ordered->disk_bytenr >> SECTOR_SHIFT;
cb->bbio.ordered = ordered;
em_start = em->start;
cb->len = bbio->bio.bi_iter.bi_size;
- cb->compressed_len = compressed_len;
cb->compress_type = btrfs_extent_map_compression(em);
cb->orig_bbio = bbio;
cb->bbio.csum_search_commit_root = bbio->csum_search_commit_root;
/* Number of bytes in the inode we're working on */
unsigned int len;
- /* Number of bytes on disk */
- unsigned int compressed_len;
-
/* The compression algorithm for this bio */
u8 compress_type;
struct workspace *workspace = list_entry(ws, struct workspace, list);
struct btrfs_fs_info *fs_info = cb->bbio.inode->root->fs_info;
const u32 sectorsize = fs_info->sectorsize;
+ const u32 compressed_len = bio_get_size(&cb->bbio.bio);
struct folio_iter fi;
char *kaddr;
int ret;
* and all sectors should be used.
* If this happens, it means the compressed extent is corrupted.
*/
- if (unlikely(len_in > min_t(size_t, BTRFS_MAX_COMPRESSED, cb->compressed_len) ||
- round_up(len_in, sectorsize) < cb->compressed_len)) {
+ if (unlikely(len_in > min_t(size_t, BTRFS_MAX_COMPRESSED, compressed_len) ||
+ round_up(len_in, sectorsize) < compressed_len)) {
struct btrfs_inode *inode = cb->bbio.inode;
btrfs_err(fs_info,
"lzo header invalid, root %llu inode %llu offset %llu lzo len %u compressed len %u",
btrfs_root_id(inode->root), btrfs_ino(inode),
- cb->start, len_in, cb->compressed_len);
+ cb->start, len_in, compressed_len);
return -EUCLEAN;
}
int wbits = MAX_WBITS;
char *data_in;
size_t total_out = 0;
- size_t srclen = cb->compressed_len;
+ const size_t srclen = bio_get_size(&cb->bbio.bio);
unsigned long buf_start;
bio_first_folio(&fi, &cb->bbio.bio, 0);
struct btrfs_fs_info *fs_info = cb_to_fs_info(cb);
struct workspace *workspace = list_entry(ws, struct workspace, list);
struct folio_iter fi;
- size_t srclen = cb->compressed_len;
+ size_t srclen = bio_get_size(&cb->bbio.bio);
zstd_dstream *stream;
int ret = 0;
const u32 blocksize = fs_info->sectorsize;