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

[PATCH 02/19] nilfs2: remove nilfs_alloc_seg_bio



bio_alloc will never fail when it can sleep.  Remove the now simple
nilfs_alloc_seg_bio helper and open code it in the only caller.

Signed-off-by: Christoph Hellwig <hch@xxxxxx>
---
 fs/nilfs2/segbuf.c | 31 ++++---------------------------
 1 file changed, 4 insertions(+), 27 deletions(-)

diff --git a/fs/nilfs2/segbuf.c b/fs/nilfs2/segbuf.c
index 43287b0d3e9b6..53b7c6d21cdd8 100644
--- a/fs/nilfs2/segbuf.c
+++ b/fs/nilfs2/segbuf.c
@@ -371,29 +371,6 @@ static int nilfs_segbuf_submit_bio(struct 
nilfs_segment_buffer *segbuf,
        return err;
 }
 
-/**
- * nilfs_alloc_seg_bio - allocate a new bio for writing log
- * @nilfs: nilfs object
- * @start: start block number of the bio
- * @nr_vecs: request size of page vector.
- *
- * Return Value: On success, pointer to the struct bio is returned.
- * On error, NULL is returned.
- */
-static struct bio *nilfs_alloc_seg_bio(struct the_nilfs *nilfs, sector_t start,
-                                      int nr_vecs)
-{
-       struct bio *bio;
-
-       bio = bio_alloc(GFP_NOIO, nr_vecs);
-       if (likely(bio)) {
-               bio_set_dev(bio, nilfs->ns_bdev);
-               bio->bi_iter.bi_sector =
-                       start << (nilfs->ns_blocksize_bits - 9);
-       }
-       return bio;
-}
-
 static void nilfs_segbuf_prepare_write(struct nilfs_segment_buffer *segbuf,
                                       struct nilfs_write_info *wi)
 {
@@ -414,10 +391,10 @@ static int nilfs_segbuf_submit_bh(struct 
nilfs_segment_buffer *segbuf,
        BUG_ON(wi->nr_vecs <= 0);
  repeat:
        if (!wi->bio) {
-               wi->bio = nilfs_alloc_seg_bio(wi->nilfs, wi->blocknr + wi->end,
-                                             wi->nr_vecs);
-               if (unlikely(!wi->bio))
-                       return -ENOMEM;
+               wi->bio = bio_alloc(GFP_NOIO, wi->nr_vecs);
+               bio_set_dev(wi->bio, wi->nilfs->ns_bdev);
+               wi->bio->bi_iter.bi_sector = (wi->blocknr + wi->end) <<
+                       (wi->nilfs->ns_blocksize_bits - 9);
        }
 
        len = bio_add_page(wi->bio, bh->b_page, bh->b_size, bh_offset(bh));
-- 
2.30.2




 


Rackspace

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