Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
 
        list_del_init(&b->list);
        mutex_unlock(&bc->lock);
-       memalloc_nofs_restore(flags);
 out:
        b->flags                = 0;
        b->written              = 0;
        bch2_time_stats_update(&c->times[BCH_TIME_btree_node_mem_alloc],
                               start_time);
 
+       memalloc_nofs_restore(flags);
        return b;
 err:
        /* Try to cannibalize another cached btree node: */
        }
 
        mutex_unlock(&bc->lock);
+       memalloc_nofs_restore(flags);
        return ERR_PTR(-ENOMEM);
 }