• Qu Wenruo's avatar
    btrfs: introduce alloc_compressed_bio() for compression · 22c306fe
    Qu Wenruo authored
    Just aggregate the bio allocation code into one helper, so that we can
    replace 4 call sites.
    
    There is one special note for zoned write.
    
    Currently btrfs_submit_compressed_write() will only allocate the first
    bio using ZONE_APPEND.  If we have to submit current bio due to stripe
    boundary, the new bio allocated will not use ZONE_APPEND.
    
    In theory this should be a bug, but considering zoned mode currently
    only support SINGLE profile, which doesn't have any stripe boundary
    limit, it should never be a problem and we have assertions in place.
    
    This function will provide a good entrance for any work which needs to
    be done at bio allocation time. Like determining the stripe boundary.
    Signed-off-by: default avatarQu Wenruo <wqu@suse.com>
    Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
    22c306fe
compression.c 48.6 KB