diff --git a/fs/bcachefs/btree_cache.c b/fs/bcachefs/btree_cache.c index d80ba1d71826..ea775d91de67 100644 --- a/fs/bcachefs/btree_cache.c +++ b/fs/bcachefs/btree_cache.c @@ -9,6 +9,7 @@ #include "trace.h" #include +#include const char * const bch2_btree_ids[] = { #define x(kwd, val, name) name, @@ -509,7 +510,9 @@ struct btree *bch2_btree_node_mem_alloc(struct bch_fs *c) struct btree_cache *bc = &c->btree_cache; struct btree *b; u64 start_time = local_clock(); + unsigned flags; + flags = memalloc_nofs_save(); mutex_lock(&bc->lock); /* @@ -547,6 +550,7 @@ struct btree *bch2_btree_node_mem_alloc(struct bch_fs *c) list_del_init(&b->list); mutex_unlock(&bc->lock); + memalloc_nofs_restore(flags); out: b->flags = 0; b->written = 0;