Here are two patches which aim to disentangle and make more explicit 
the situation when a space_info has to be created VS when space_info values 
are being updated. 

It survived multiple xfstest runs with additional ASSERTs which I have removed
in this posting. One such assert which didn't trigger was in 
btrfs_make_block_group. Despite that I haven't changed the logic of the code
to try and allocate a space_info if one can't be found. However, I'd like 
someone more knowledgble of the internals of bg lifecycle to tell me if 
in fact btrfs_make_block_group can be called with flags for non-existant 
struct space_info. 



Nikolay Borisov (2):
  btrfs: Separate space_info create/update
  btrfs: Refactor update_space_info

 fs/btrfs/extent-tree.c | 172 +++++++++++++++++++++----------------------------
 1 file changed, 73 insertions(+), 99 deletions(-)

-- 
2.7.4

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to