diff options
Diffstat (limited to 'fs/ext4/readpage.c')
| -rw-r--r-- | fs/ext4/readpage.c | 6 | 
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/ext4/readpage.c b/fs/ext4/readpage.c index a30b203fa461..fef7755300c3 100644 --- a/fs/ext4/readpage.c +++ b/fs/ext4/readpage.c @@ -360,10 +360,12 @@ int ext4_mpage_readpages(struct address_space *mapping,  		if (bio == NULL) {  			struct bio_post_read_ctx *ctx; +			/* +			 * bio_alloc will _always_ be able to allocate a bio if +			 * __GFP_DIRECT_RECLAIM is set, see bio_alloc_bioset(). +			 */  			bio = bio_alloc(GFP_KERNEL,  				min_t(int, nr_pages, BIO_MAX_PAGES)); -			if (!bio) -				goto set_error_page;  			ctx = get_bio_post_read_ctx(inode, bio, page->index);  			if (IS_ERR(ctx)) {  				bio_put(bio);  |