Message ID | 1438768284-30927-9-git-send-email-mhocko@kernel.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
On Wed, Aug 05, 2015 at 11:51:24AM +0200, mhocko@kernel.org wrote: > From: Michal Hocko <mhocko@suse.com> > > alloc_btrfs_bio is relying on GFP_NOFS to allocate a bio but since "mm: > page_alloc: do not lock up GFP_NOFS allocations upon OOM" this is > allowed to fail which can lead to > [ 37.928625] kernel BUG at fs/btrfs/extent_io.c:4045 > > This is clearly undesirable and the nofail behavior should be explicit > if the allocation failure cannot be tolerated. > > Signed-off-by: Michal Hocko <mhocko@suse.com> Reviewed-by: David Sterba <dsterba@suse.com> -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c index 53af23f2c087..57a99d19533d 100644 --- a/fs/btrfs/volumes.c +++ b/fs/btrfs/volumes.c @@ -4914,7 +4914,7 @@ static struct btrfs_bio *alloc_btrfs_bio(int total_stripes, int real_stripes) * and the stripes */ sizeof(u64) * (total_stripes), - GFP_NOFS); + GFP_NOFS|__GFP_NOFAIL); if (!bbio) return NULL;