btrfs: switch GFP_ATOMIC to GFP_NOFS when fixing up low keys
authorFilipe Manana <fdmanana@suse.com>
Thu, 13 Oct 2022 10:36:25 +0000 (11:36 +0100)
committerDavid Sterba <dsterba@suse.com>
Mon, 5 Dec 2022 17:00:40 +0000 (18:00 +0100)
commit879b2221983184cd61fe852f90f3c0d6dd647f67
treee70b812aebcf39d8330ea757e022ac7d86236a77
parent81531225e5bd50ce628816cc1445c8b52aa99db2
btrfs: switch GFP_ATOMIC to GFP_NOFS when fixing up low keys

When fixing up the first key of each node above the current level, at
fixup_low_keys(), we are doing a GFP_ATOMIC allocation for inserting an
operation record for the tree mod log. However we can do just fine with
GFP_NOFS nowadays. The need for GFP_ATOMIC was for the old days when we
had custom locks with spinning behaviour for extent buffers and we were
in spinning mode while at fixup_low_keys(). Now we use rw semaphores for
extent buffer locks, so we can safely use GFP_NOFS.

Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/ctree.c