aboutsummaryrefslogtreecommitdiff
path: root/fs/btrfs/extent-io-tree.h
diff options
context:
space:
mode:
authorJosef Bacik <josef@toxicpanda.com>2022-10-14 10:00:39 -0400
committerDavid Sterba <dsterba@suse.com>2022-12-05 18:00:40 +0100
commit48acc47d7813a0e650754845161f04b0b27ff8ac (patch)
tree51d3cda2115945fd40621293963d9c9794f3e6a5 /fs/btrfs/extent-io-tree.h
parent7248e0cebbefaba94c0c37f708a134dad3acba0e (diff)
btrfs: do not use GFP_ATOMIC in the read endio
We have done read endio in an async thread for a very, very long time, which makes the use of GFP_ATOMIC and unlock_extent_atomic() unneeded in our read endio path. We've noticed under heavy memory pressure in our fleet that we can fail these allocations, and then often trip a BUG_ON(!allocation), which isn't an ideal outcome. Begin to address this by simply not using GFP_ATOMIC, which will allow us to do things like actually allocate a extent state when doing set_extent_bits(UPTODATE) in the endio handler. End io handlers are not called in atomic context, besides we have been allocating failrec with GFP_NOFS so we'd notice there's a problem. Signed-off-by: Josef Bacik <josef@toxicpanda.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/extent-io-tree.h')
0 files changed, 0 insertions, 0 deletions