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@lst.de> Link: https://lore.kernel.org/r/20220124091107.642561-3-hch@lst.de Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
d5f68a42da
commit
f0d911927b
@ -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));
|
||||
|
Loading…
Reference in New Issue
Block a user