Commit f0d91192 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Jens Axboe
Browse files

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: default avatarChristoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20220124091107.642561-3-hch@lst.de


Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent d5f68a42
Loading
Loading
Loading
Loading
+4 −27
Original line number Diff line number Diff line
@@ -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));