[PATCH 09/32] btrfs: prepare for bi_rw split
From: Mike ChristieThis patch prepares btrfs's submit_bio use for the next patches that split bi_rw into a operation and flags field. Instead of passing in a bitmap with both the operation and flags mixed in, the callers will now pass them in seperately. This patch modifies the code related to the submit_bio calls so the flags and operation are seperated. When this is done for all code, one of the later patches in the series will the actual submit_bio call, so the patches are bisectable. Signed-off-by: Mike Christie --- fs/btrfs/check-integrity.c | 6 +-- fs/btrfs/check-integrity.h | 2 +- fs/btrfs/compression.c | 8 ++-- fs/btrfs/ctree.h | 3 +- fs/btrfs/disk-io.c | 48 +++-- fs/btrfs/disk-io.h | 2 +- fs/btrfs/extent-tree.c | 2 +- fs/btrfs/extent_io.c | 103 - fs/btrfs/extent_io.h | 7 +-- fs/btrfs/inode.c | 65 ++-- fs/btrfs/scrub.c | 4 +- fs/btrfs/volumes.c | 88 -- fs/btrfs/volumes.h | 4 +- 13 files changed, 177 insertions(+), 165 deletions(-) diff --git a/fs/btrfs/check-integrity.c b/fs/btrfs/check-integrity.c index fd50b2f..515a92e 100644 --- a/fs/btrfs/check-integrity.c +++ b/fs/btrfs/check-integrity.c @@ -3058,10 +3058,10 @@ leave: mutex_unlock(_mutex); } -void btrfsic_submit_bio(int rw, struct bio *bio) +void btrfsic_submit_bio(int op, int op_flags, struct bio *bio) { - __btrfsic_submit_bio(rw, bio); - submit_bio(rw, bio); + __btrfsic_submit_bio(op | op_flags, bio); + submit_bio(op | op_flags, bio); } int btrfsic_submit_bio_wait(int op, int op_flags, struct bio *bio) diff --git a/fs/btrfs/check-integrity.h b/fs/btrfs/check-integrity.h index 13b0d54..a8edc424 100644 --- a/fs/btrfs/check-integrity.h +++ b/fs/btrfs/check-integrity.h @@ -21,7 +21,7 @@ #ifdef CONFIG_BTRFS_FS_CHECK_INTEGRITY int btrfsic_submit_bh(int rw, struct buffer_head *bh); -void btrfsic_submit_bio(int rw, struct bio *bio); +void btrfsic_submit_bio(int op, int op_flags, struct bio *bio); int btrfsic_submit_bio_wait(int op, int op_flags, struct bio *bio); #else #define btrfsic_submit_bh submit_bh diff --git a/fs/btrfs/compression.c b/fs/btrfs/compression.c index 57ee8ca..a7b245d 100644 --- a/fs/btrfs/compression.c +++ b/fs/btrfs/compression.c @@ -401,7 +401,7 @@ int btrfs_submit_compressed_write(struct inode *inode, u64 start, BUG_ON(ret); /* -ENOMEM */ } - ret = btrfs_map_bio(root, WRITE, bio, 0, 1); + ret = btrfs_map_bio(root, REQ_OP_WRITE, 0, bio, 0, 1); BUG_ON(ret); /* -ENOMEM */ bio_put(bio); @@ -431,7 +431,7 @@ int btrfs_submit_compressed_write(struct inode *inode, u64 start, BUG_ON(ret); /* -ENOMEM */ } - ret = btrfs_map_bio(root, WRITE, bio, 0, 1); + ret = btrfs_map_bio(root, REQ_OP_WRITE, 0, bio, 0, 1); BUG_ON(ret); /* -ENOMEM */ bio_put(bio); @@ -692,7 +692,7 @@ int btrfs_submit_compressed_read(struct inode *inode, struct bio *bio, sums += DIV_ROUND_UP(comp_bio->bi_iter.bi_size, root->sectorsize); - ret = btrfs_map_bio(root, READ, comp_bio, + ret = btrfs_map_bio(root, REQ_OP_READ, 0, comp_bio, mirror_num, 0); if (ret) { bio->bi_error = ret; @@ -722,7 +722,7 @@ int btrfs_submit_compressed_read(struct inode *inode, struct bio *bio, BUG_ON(ret); /* -ENOMEM */ } - ret = btrfs_map_bio(root, READ, comp_bio, mirror_num, 0); + ret = btrfs_map_bio(root, REQ_OP_READ, 0, comp_bio, mirror_num, 0); if (ret) { bio->bi_error = ret; bio_endio(comp_bio); diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h index 938efe3..e4489dd1 100644 --- a/fs/btrfs/ctree.h +++ b/fs/btrfs/ctree.h @@ -3910,8 +3910,7 @@ int btrfs_create_subvol_root(struct btrfs_trans_handle *trans, struct btrfs_root *parent_root, u64 new_dirid); int btrfs_merge_bio_hook(int rw, struct page *page, unsigned long offset, -size_t size, struct bio *bio, -unsigned long bio_flags); +size_t size, struct bio *bio, unsigned long bio_flags); int btrfs_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf); int btrfs_readpage(struct file *file, struct page *page); void btrfs_evict_inode(struct inode *inode); diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index 1e60d00..6c17d5d 100644 --- a/fs/btrfs/disk-io.c +++
[PATCH 09/32] btrfs: prepare for bi_rw split
From: Mike ChristieThis patch prepares btrfs's submit_bio use for the next patches that split bi_rw into a operation and flags field. Instead of passing in a bitmap with both the operation and flags mixed in, the callers will now pass them in seperately. This patch modifies the code related to the submit_bio calls so the flags and operation are seperated. When this is done for all code, one of the later patches in the series will the actual submit_bio call, so the patches are bisectable. Signed-off-by: Mike Christie --- fs/btrfs/check-integrity.c | 6 +-- fs/btrfs/check-integrity.h | 2 +- fs/btrfs/compression.c | 8 ++-- fs/btrfs/ctree.h | 3 +- fs/btrfs/disk-io.c | 48 +++-- fs/btrfs/disk-io.h | 2 +- fs/btrfs/extent-tree.c | 2 +- fs/btrfs/extent_io.c | 103 - fs/btrfs/extent_io.h | 7 +-- fs/btrfs/inode.c | 65 ++-- fs/btrfs/scrub.c | 4 +- fs/btrfs/volumes.c | 88 -- fs/btrfs/volumes.h | 4 +- 13 files changed, 177 insertions(+), 165 deletions(-) diff --git a/fs/btrfs/check-integrity.c b/fs/btrfs/check-integrity.c index fd50b2f..515a92e 100644 --- a/fs/btrfs/check-integrity.c +++ b/fs/btrfs/check-integrity.c @@ -3058,10 +3058,10 @@ leave: mutex_unlock(_mutex); } -void btrfsic_submit_bio(int rw, struct bio *bio) +void btrfsic_submit_bio(int op, int op_flags, struct bio *bio) { - __btrfsic_submit_bio(rw, bio); - submit_bio(rw, bio); + __btrfsic_submit_bio(op | op_flags, bio); + submit_bio(op | op_flags, bio); } int btrfsic_submit_bio_wait(int op, int op_flags, struct bio *bio) diff --git a/fs/btrfs/check-integrity.h b/fs/btrfs/check-integrity.h index 13b0d54..a8edc424 100644 --- a/fs/btrfs/check-integrity.h +++ b/fs/btrfs/check-integrity.h @@ -21,7 +21,7 @@ #ifdef CONFIG_BTRFS_FS_CHECK_INTEGRITY int btrfsic_submit_bh(int rw, struct buffer_head *bh); -void btrfsic_submit_bio(int rw, struct bio *bio); +void btrfsic_submit_bio(int op, int op_flags, struct bio *bio); int btrfsic_submit_bio_wait(int op, int op_flags, struct bio *bio); #else #define btrfsic_submit_bh submit_bh diff --git a/fs/btrfs/compression.c b/fs/btrfs/compression.c index 57ee8ca..a7b245d 100644 --- a/fs/btrfs/compression.c +++ b/fs/btrfs/compression.c @@ -401,7 +401,7 @@ int btrfs_submit_compressed_write(struct inode *inode, u64 start, BUG_ON(ret); /* -ENOMEM */ } - ret = btrfs_map_bio(root, WRITE, bio, 0, 1); + ret = btrfs_map_bio(root, REQ_OP_WRITE, 0, bio, 0, 1); BUG_ON(ret); /* -ENOMEM */ bio_put(bio); @@ -431,7 +431,7 @@ int btrfs_submit_compressed_write(struct inode *inode, u64 start, BUG_ON(ret); /* -ENOMEM */ } - ret = btrfs_map_bio(root, WRITE, bio, 0, 1); + ret = btrfs_map_bio(root, REQ_OP_WRITE, 0, bio, 0, 1); BUG_ON(ret); /* -ENOMEM */ bio_put(bio); @@ -692,7 +692,7 @@ int btrfs_submit_compressed_read(struct inode *inode, struct bio *bio, sums += DIV_ROUND_UP(comp_bio->bi_iter.bi_size, root->sectorsize); - ret = btrfs_map_bio(root, READ, comp_bio, + ret = btrfs_map_bio(root, REQ_OP_READ, 0, comp_bio, mirror_num, 0); if (ret) { bio->bi_error = ret; @@ -722,7 +722,7 @@ int btrfs_submit_compressed_read(struct inode *inode, struct bio *bio, BUG_ON(ret); /* -ENOMEM */ } - ret = btrfs_map_bio(root, READ, comp_bio, mirror_num, 0); + ret = btrfs_map_bio(root, REQ_OP_READ, 0, comp_bio, mirror_num, 0); if (ret) { bio->bi_error = ret; bio_endio(comp_bio); diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h index 938efe3..e4489dd1 100644 --- a/fs/btrfs/ctree.h +++ b/fs/btrfs/ctree.h @@ -3910,8 +3910,7 @@ int btrfs_create_subvol_root(struct btrfs_trans_handle *trans, struct btrfs_root *parent_root, u64 new_dirid); int btrfs_merge_bio_hook(int rw, struct page *page, unsigned long offset, -size_t size, struct bio *bio, -unsigned long bio_flags); +size_t size, struct bio *bio, unsigned long bio_flags); int btrfs_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf); int btrfs_readpage(struct file *file, struct page *page); void btrfs_evict_inode(struct inode *inode); diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index 1e60d00..6c17d5d 100644 --- a/fs/btrfs/disk-io.c +++