diff --git a/[refs] b/[refs] index 441e299d49eb..7a4b1d37a50c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4d479cf010d56ec9c54f3099992d039918f1296b +refs/heads/master: 24a70313969fc3fc440216b40babdb42564acff3 diff --git a/trunk/fs/btrfs/free-space-cache.c b/trunk/fs/btrfs/free-space-cache.c index aedacdbf77e2..6e5b7e463698 100644 --- a/trunk/fs/btrfs/free-space-cache.c +++ b/trunk/fs/btrfs/free-space-cache.c @@ -1849,7 +1849,13 @@ int btrfs_remove_free_space(struct btrfs_block_group_cache *block_group, info = tree_search_offset(ctl, offset_to_bitmap(ctl, offset), 1, 0); if (!info) { - WARN_ON(1); + /* the tree logging code might be calling us before we + * have fully loaded the free space rbtree for this + * block group. So it is possible the entry won't + * be in the rbtree yet at all. The caching code + * will make sure not to put it in the rbtree if + * the logging code has pinned it. + */ goto out_lock; } }