diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c index 76b99bcc849d3d70edfc95fa0851dd5345726564..4754c9101a4c1bd25c61a964fbba4fec535af446 100644 --- a/fs/btrfs/ctree.c +++ b/fs/btrfs/ctree.c @@ -184,6 +184,8 @@ size_t __attribute_const__ btrfs_get_num_csums(void) struct btrfs_path *btrfs_alloc_path(void) { + might_sleep(); + return kmem_cache_zalloc(btrfs_path_cachep, GFP_NOFS); } @@ -2046,6 +2048,8 @@ int btrfs_search_slot(struct btrfs_trans_handle *trans, struct btrfs_root *root, int min_write_lock_level; int prev_cmp; + might_sleep(); + lowest_level = p->lowest_level; WARN_ON(lowest_level && ins_len > 0); WARN_ON(p->nodes[0] != NULL);