[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[RFC PATCH 23/34] fs/mpage.c: use bio_new mpage_alloc



Signed-off-by: Chaitanya Kulkarni <chaitanya.kulkarni@xxxxxxx>
---
 fs/mpage.c | 18 ++++++------------
 1 file changed, 6 insertions(+), 12 deletions(-)

diff --git a/fs/mpage.c b/fs/mpage.c
index 830e6cc2a9e7..01725126e81f 100644
--- a/fs/mpage.c
+++ b/fs/mpage.c
@@ -68,25 +68,21 @@ static struct bio *mpage_bio_submit(int op, int op_flags, 
struct bio *bio)
 }
 
 static struct bio *
-mpage_alloc(struct block_device *bdev,
-               sector_t first_sector, int nr_vecs,
-               gfp_t gfp_flags)
+mpage_alloc(struct block_device *bdev, sector_t first_sector, int nr_vecs,
+           gfp_t gfp_flags)
 {
        struct bio *bio;
 
        /* Restrict the given (page cache) mask for slab allocations */
        gfp_flags &= GFP_KERNEL;
-       bio = bio_alloc(gfp_flags, nr_vecs);
+       bio = bio_new(bdev, first_sector, 0, 0, nr_vecs, gfp_flags);
 
        if (bio == NULL && (current->flags & PF_MEMALLOC)) {
                while (!bio && (nr_vecs /= 2))
-                       bio = bio_alloc(gfp_flags, nr_vecs);
+                       bio = bio_new(bdev, first_sector, 0, 0, nr_vecs,
+                                       gfp_flags);
        }
 
-       if (bio) {
-               bio_set_dev(bio, bdev);
-               bio->bi_iter.bi_sector = first_sector;
-       }
        return bio;
 }
 
@@ -304,9 +300,7 @@ static struct bio *do_mpage_readpage(struct 
mpage_readpage_args *args)
                                goto out;
                }
                args->bio = mpage_alloc(bdev, blocks[0] << (blkbits - 9),
-                                       min_t(int, args->nr_pages,
-                                             BIO_MAX_PAGES),
-                                       gfp);
+                                       args->nr_pages, gfp);
                if (args->bio == NULL)
                        goto confused;
        }
-- 
2.22.1




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.