]> git.baikalelectronics.ru Git - kernel.git/commit
jbd2: revert must-not-fail allocation loops back to GFP_NOFAIL
authorMichal Hocko <mhocko@suse.cz>
Mon, 8 Jun 2015 14:53:10 +0000 (10:53 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Mon, 8 Jun 2015 14:53:10 +0000 (10:53 -0400)
commit5f988353d8d06c0689b74af4ec0ab91da4d94102
treecc3a37a205d0fc980ff9e9788daf9526a0976532
parent5666c83eb8c1bca1470672e9d6f0140403f4c2fe
jbd2: revert must-not-fail allocation loops back to GFP_NOFAIL

This basically reverts 3f002f7a4ed0 (jbd2: Remove __GFP_NOFAIL from jbd2
layer). The deprecation of __GFP_NOFAIL was a bad choice because it led
to open coding the endless loop around the allocator rather than
removing the dependency on the non failing allocation. So the
deprecation was a clear failure and the reality tells us that
__GFP_NOFAIL is not even close to go away.

It is still true that __GFP_NOFAIL allocations are generally discouraged
and new uses should be evaluated and an alternative (pre-allocations or
reservations) should be considered but it doesn't make any sense to lie
the allocator about the requirements. Allocator can take steps to help
making a progress if it knows the requirements.

Signed-off-by: Michal Hocko <mhocko@suse.cz>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Acked-by: David Rientjes <rientjes@google.com>
fs/jbd2/journal.c
fs/jbd2/transaction.c