mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 04:18:39 +08:00
squashfs: always use bio_kmalloc in squashfs_bio_read
If a plain kmalloc that is not backed by a mempool is safe here for a large read (and the actual page allocations), it must also be for a small one, so simplify the code a bit. Signed-off-by: Christoph Hellwig <hch@lst.de> Acked-by: Phillip Lougher <phillip@squashfs.org.uk> Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com> Link: https://lore.kernel.org/r/20220406061228.410163-3-hch@lst.de Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
f9e69aa9cc
commit
46a2d4ccc4
@ -86,16 +86,11 @@ static int squashfs_bio_read(struct super_block *sb, u64 index, int length,
|
||||
int error, i;
|
||||
struct bio *bio;
|
||||
|
||||
if (page_count <= BIO_MAX_VECS) {
|
||||
bio = bio_alloc(sb->s_bdev, page_count, REQ_OP_READ, GFP_NOIO);
|
||||
} else {
|
||||
bio = bio_kmalloc(GFP_NOIO, page_count);
|
||||
bio_set_dev(bio, sb->s_bdev);
|
||||
bio->bi_opf = REQ_OP_READ;
|
||||
}
|
||||
|
||||
bio = bio_kmalloc(GFP_NOIO, page_count);
|
||||
if (!bio)
|
||||
return -ENOMEM;
|
||||
bio_set_dev(bio, sb->s_bdev);
|
||||
bio->bi_opf = REQ_OP_READ;
|
||||
|
||||
bio->bi_iter.bi_sector = block * (msblk->devblksize >> SECTOR_SHIFT);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user