mirror of
https://github.com/torvalds/linux.git
synced 2026-05-12 16:18:45 +02:00
block: only restrict bio allocation gfp mask asked to block
If the caller is asking for a non-blocking allocation, we should not
further restrict the gfp mask, which just increases the likelihood
of failures.
Fixes: b520c4eef8 ("block: split bio_alloc_bioset more clearly into a fast and slowpath")
Reported-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Link: https://patch.msgid.link/20260415060813.807659-3-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
19d32966e1
commit
b5129bda5b
|
|
@ -544,6 +544,7 @@ struct bio *bio_alloc_bioset(struct block_device *bdev, unsigned short nr_vecs,
|
|||
if (WARN_ON_ONCE(!mempool_initialized(&bs->bvec_pool) && nr_vecs > 0))
|
||||
return NULL;
|
||||
|
||||
if (saved_gfp & __GFP_DIRECT_RECLAIM)
|
||||
gfp = try_alloc_gfp(gfp);
|
||||
if (bs->cache && nr_vecs <= BIO_INLINE_VECS) {
|
||||
/*
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user