On Wed, Feb 24, 2021 at 08:24:07AM +0100, Christoph Hellwig wrote: > The caller can't cope with a failure from bounce_clone_bio, so > use __GFP_NOFAIL for the passthrough case. bio_alloc_bioset already > won't fail due to the use of mempools. > > And yes, we need to get rid of this bock layer bouncing code entirely > sooner or later.. > > Signed-off-by: Christoph Hellwig <hch@xxxxxx> > --- > block/bounce.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/block/bounce.c b/block/bounce.c > index 417faaac36b691..87983a35079c22 100644 > --- a/block/bounce.c > +++ b/block/bounce.c > @@ -242,12 +242,11 @@ static struct bio *bounce_clone_bio(struct bio *bio_src) > * __bio_clone_fast() anyways. > */ > if (bio_is_passthrough(bio_src)) > - bio = bio_kmalloc(GFP_NOIO, bio_segments(bio_src)); > + bio = bio_kmalloc(GFP_NOIO | __GFP_NOFAIL, > + bio_segments(bio_src)); bio_kmalloc() still may fail if bio_segments(bio_src) is > UIO_MAXIOV. -- Ming