diff options
author | Miao Xie <miaox@cn.fujitsu.com> | 2010-11-22 04:02:55 +0100 |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2010-11-22 04:26:03 +0100 |
commit | 88f794ede7fadd4b63135b94d1561c1f2d5eb5f5 (patch) | |
tree | 04e4fede4aa520bd4dfb7de7ab28f5ad38d215cc /fs/btrfs/compression.c | |
parent | btrfs: fix free dip and dip->csums twice (diff) | |
download | linux-88f794ede7fadd4b63135b94d1561c1f2d5eb5f5.tar.xz linux-88f794ede7fadd4b63135b94d1561c1f2d5eb5f5.zip |
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.c | 15 |
1 files changed, 1 insertions, 14 deletions
diff --git a/fs/btrfs/compression.c b/fs/btrfs/compression.c index 7845d1f7d1d9..b50bc4bd5c56 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, |