Files
i2som-imx-linux/fs
Konstantin Khlebnikov 5c01f95c20 ext4: handle the rest of ext4_mb_load_buddy() ENOMEM errors
[ Upstream commit 9651e6b2e2 ]

I've got another report about breaking ext4 by ENOMEM error returned from
ext4_mb_load_buddy() caused by memory shortage in memory cgroup.
This time inside ext4_discard_preallocations().

This patch replaces ext4_error() with ext4_warning() where errors returned
from ext4_mb_load_buddy() are not fatal and handled by caller:
* ext4_mb_discard_group_preallocations() - called before generating ENOSPC,
  we'll try to discard other group or return ENOSPC into user-space.
* ext4_trim_all_free() - just stop trimming and return ENOMEM from ioctl.

Some callers cannot handle errors, thus __GFP_NOFAIL is used for them:
* ext4_discard_preallocations()
* ext4_mb_discard_lg_preallocations()

Fixes: adb7ef600c ("ext4: use __GFP_NOFAIL in ext4_free_blocks()")
Signed-off-by: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-13 19:50:09 +02:00
..
2017-12-20 10:04:56 +01:00
2018-04-13 19:50:04 +02:00
2017-08-06 19:19:42 -07:00
2017-11-30 08:37:20 +00:00
2017-06-14 13:16:24 +02:00
2018-04-13 19:50:02 +02:00
2017-08-06 19:19:42 -07:00
2017-06-14 13:16:24 +02:00
2017-06-14 13:16:24 +02:00
2018-02-16 20:09:43 +01:00
2017-06-14 13:16:24 +02:00