• Qu Wenruo's avatar
    btrfs: handle errors properly inside btrfs_submit_compressed_write() · 6853c64a
    Qu Wenruo authored
    Just like btrfs_submit_compressed_read(), there are quite some BUG_ON()s
    inside btrfs_submit_compressed_write() for the bio submission path.
    
    Fix them using the same method:
    
    - For last bio, just endio the bio
      As in that case, one of the endio function of all these submitted bio
      will be able to free the compressed_bio
    
    - For half-submitted bio, wait and finish the compressed_bio manually
      In this case, as long as all other bio finish, we're the only one
      referring the compressed bio, and can manually finish it.
    Signed-off-by: default avatarQu Wenruo <wqu@suse.com>
    Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
    6853c64a
compression.c 48.2 KB