mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-23 23:32:14 +00:00
btrfs: root->fs_info cleanup, add fs_info convenience variables
In routines where someptr->fs_info is referenced multiple times, we introduce a convenience variable. This makes the code considerably more readable. Signed-off-by: Jeff Mahoney <jeffm@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
6202df6921
commit
0b246afa62
33 changed files with 2251 additions and 2016 deletions
|
@ -88,10 +88,11 @@ static int btrfs_decompress_bio(int type, struct page **pages_in,
|
|||
static inline int compressed_bio_size(struct btrfs_root *root,
|
||||
unsigned long disk_size)
|
||||
{
|
||||
u16 csum_size = btrfs_super_csum_size(root->fs_info->super_copy);
|
||||
struct btrfs_fs_info *fs_info = root->fs_info;
|
||||
u16 csum_size = btrfs_super_csum_size(fs_info->super_copy);
|
||||
|
||||
return sizeof(struct compressed_bio) +
|
||||
(DIV_ROUND_UP(disk_size, root->fs_info->sectorsize)) * csum_size;
|
||||
(DIV_ROUND_UP(disk_size, fs_info->sectorsize)) * csum_size;
|
||||
}
|
||||
|
||||
static struct bio *compressed_bio_alloc(struct block_device *bdev,
|
||||
|
@ -328,6 +329,7 @@ int btrfs_submit_compressed_write(struct inode *inode, u64 start,
|
|||
struct page **compressed_pages,
|
||||
unsigned long nr_pages)
|
||||
{
|
||||
struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb);
|
||||
struct bio *bio = NULL;
|
||||
struct btrfs_root *root = BTRFS_I(inode)->root;
|
||||
struct compressed_bio *cb;
|
||||
|
@ -355,7 +357,7 @@ int btrfs_submit_compressed_write(struct inode *inode, u64 start,
|
|||
cb->orig_bio = NULL;
|
||||
cb->nr_pages = nr_pages;
|
||||
|
||||
bdev = BTRFS_I(inode)->root->fs_info->fs_devices->latest_bdev;
|
||||
bdev = fs_info->fs_devices->latest_bdev;
|
||||
|
||||
bio = compressed_bio_alloc(bdev, first_byte, GFP_NOFS);
|
||||
if (!bio) {
|
||||
|
@ -391,8 +393,8 @@ int btrfs_submit_compressed_write(struct inode *inode, u64 start,
|
|||
* freed before we're done setting it up
|
||||
*/
|
||||
atomic_inc(&cb->pending_bios);
|
||||
ret = btrfs_bio_wq_end_io(root->fs_info, bio,
|
||||
BTRFS_WQ_ENDIO_DATA);
|
||||
ret = btrfs_bio_wq_end_io(fs_info, bio,
|
||||
BTRFS_WQ_ENDIO_DATA);
|
||||
BUG_ON(ret); /* -ENOMEM */
|
||||
|
||||
if (!skip_sum) {
|
||||
|
@ -417,7 +419,7 @@ int btrfs_submit_compressed_write(struct inode *inode, u64 start,
|
|||
bio_add_page(bio, page, PAGE_SIZE, 0);
|
||||
}
|
||||
if (bytes_left < PAGE_SIZE) {
|
||||
btrfs_info(BTRFS_I(inode)->root->fs_info,
|
||||
btrfs_info(fs_info,
|
||||
"bytes left %lu compress len %lu nr %lu",
|
||||
bytes_left, cb->compressed_len, cb->nr_pages);
|
||||
}
|
||||
|
@ -427,7 +429,7 @@ int btrfs_submit_compressed_write(struct inode *inode, u64 start,
|
|||
}
|
||||
bio_get(bio);
|
||||
|
||||
ret = btrfs_bio_wq_end_io(root->fs_info, bio, BTRFS_WQ_ENDIO_DATA);
|
||||
ret = btrfs_bio_wq_end_io(fs_info, bio, BTRFS_WQ_ENDIO_DATA);
|
||||
BUG_ON(ret); /* -ENOMEM */
|
||||
|
||||
if (!skip_sum) {
|
||||
|
@ -575,6 +577,7 @@ next:
|
|||
int btrfs_submit_compressed_read(struct inode *inode, struct bio *bio,
|
||||
int mirror_num, unsigned long bio_flags)
|
||||
{
|
||||
struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb);
|
||||
struct extent_io_tree *tree;
|
||||
struct extent_map_tree *em_tree;
|
||||
struct compressed_bio *cb;
|
||||
|
@ -634,7 +637,7 @@ int btrfs_submit_compressed_read(struct inode *inode, struct bio *bio,
|
|||
if (!cb->compressed_pages)
|
||||
goto fail1;
|
||||
|
||||
bdev = BTRFS_I(inode)->root->fs_info->fs_devices->latest_bdev;
|
||||
bdev = fs_info->fs_devices->latest_bdev;
|
||||
|
||||
for (pg_index = 0; pg_index < nr_pages; pg_index++) {
|
||||
cb->compressed_pages[pg_index] = alloc_page(GFP_NOFS |
|
||||
|
@ -678,8 +681,8 @@ int btrfs_submit_compressed_read(struct inode *inode, struct bio *bio,
|
|||
PAGE_SIZE) {
|
||||
bio_get(comp_bio);
|
||||
|
||||
ret = btrfs_bio_wq_end_io(root->fs_info, comp_bio,
|
||||
BTRFS_WQ_ENDIO_DATA);
|
||||
ret = btrfs_bio_wq_end_io(fs_info, comp_bio,
|
||||
BTRFS_WQ_ENDIO_DATA);
|
||||
BUG_ON(ret); /* -ENOMEM */
|
||||
|
||||
/*
|
||||
|
@ -696,7 +699,7 @@ int btrfs_submit_compressed_read(struct inode *inode, struct bio *bio,
|
|||
BUG_ON(ret); /* -ENOMEM */
|
||||
}
|
||||
sums += DIV_ROUND_UP(comp_bio->bi_iter.bi_size,
|
||||
root->fs_info->sectorsize);
|
||||
fs_info->sectorsize);
|
||||
|
||||
ret = btrfs_map_bio(root, comp_bio, mirror_num, 0);
|
||||
if (ret) {
|
||||
|
@ -719,8 +722,7 @@ int btrfs_submit_compressed_read(struct inode *inode, struct bio *bio,
|
|||
}
|
||||
bio_get(comp_bio);
|
||||
|
||||
ret = btrfs_bio_wq_end_io(root->fs_info, comp_bio,
|
||||
BTRFS_WQ_ENDIO_DATA);
|
||||
ret = btrfs_bio_wq_end_io(fs_info, comp_bio, BTRFS_WQ_ENDIO_DATA);
|
||||
BUG_ON(ret); /* -ENOMEM */
|
||||
|
||||
if (!(BTRFS_I(inode)->flags & BTRFS_INODE_NODATASUM)) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue