summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/compression.c
diff options
context:
space:
mode:
authorMiao Xie <miaox@cn.fujitsu.com>2010-11-22 03:02:55 +0000
committerChris Mason <chris.mason@oracle.com>2010-11-21 22:26:03 -0500
commit88f794ede7fadd4b63135b94d1561c1f2d5eb5f5 (patch)
tree04e4fede4aa520bd4dfb7de7ab28f5ad38d215cc /fs/btrfs/compression.c
parent0c56fa9662927354255f2f64617d1de61fc03db9 (diff)
downloadop-kernel-dev-88f794ede7fadd4b63135b94d1561c1f2d5eb5f5.zip
op-kernel-dev-88f794ede7fadd4b63135b94d1561c1f2d5eb5f5.tar.gz
btrfs: cleanup duplicate bio allocating functions
extent_bio_alloc() and compressed_bio_alloc() are similar, cleanup similar source code. Signed-off-by: Miao Xie <miaox@cn.fujitsu.com> Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/compression.c')
-rw-r--r--fs/btrfs/compression.c15
1 files changed, 1 insertions, 14 deletions
diff --git a/fs/btrfs/compression.c b/fs/btrfs/compression.c
index 7845d1f..b50bc4b 100644
--- a/fs/btrfs/compression.c
+++ b/fs/btrfs/compression.c
@@ -91,23 +91,10 @@ static inline int compressed_bio_size(struct btrfs_root *root,
static struct bio *compressed_bio_alloc(struct block_device *bdev,
u64 first_byte, gfp_t gfp_flags)
{
- struct bio *bio;
int nr_vecs;
nr_vecs = bio_get_nr_vecs(bdev);
- bio = bio_alloc(gfp_flags, nr_vecs);
-
- if (bio == NULL && (current->flags & PF_MEMALLOC)) {
- while (!bio && (nr_vecs /= 2))
- bio = bio_alloc(gfp_flags, nr_vecs);
- }
-
- if (bio) {
- bio->bi_size = 0;
- bio->bi_bdev = bdev;
- bio->bi_sector = first_byte >> 9;
- }
- return bio;
+ return btrfs_bio_alloc(bdev, first_byte >> 9, nr_vecs, gfp_flags);
}
static int check_compressed_csum(struct inode *inode,
OpenPOWER on IntegriCloud