+7
−1
Loading
In cache_save_setup(), if create_free_space_inode() succeeds but the subsequent lookup_free_space_inode() still fails on retry, the BUG_ON(retries) will crash the kernel. This can happen due to I/O errors or transient failures, not just programming bugs. Replace the BUG_ON with proper error handling that returns the original error code through the existing cleanup path. The callers already handle this gracefully: disk_cache_state defaults to BTRFS_DC_ERROR, so the space cache simply won't be written for that block group. Reviewed-by:Qu Wenruo <wqu@suse.com> Signed-off-by:
Teng Liu <27rabbitlt@gmail.com> Signed-off-by:
David Sterba <dsterba@suse.com>