• Dennis Zhou's avatar
    btrfs: add compression interface in (get/put)_workspace · 929f4baf
    Dennis Zhou authored
    There are two levels of workspace management. First, alloc()/free()
    which are responsible for actually creating and destroy workspaces.
    Second, at a higher level, get()/put() which is the compression code
    asking for a workspace from a workspace_manager.
    
    The compression code shouldn't really care how it gets a workspace, but
    that it got a workspace. This adds get_workspace() and put_workspace()
    to be the higher level interface which is responsible for indexing into
    the appropriate compression type. It also introduces
    btrfs_put_workspace() and btrfs_get_workspace() to be the generic
    implementations of the higher interface.
    Reviewed-by: default avatarJosef Bacik <josef@toxicpanda.com>
    Signed-off-by: default avatarDennis Zhou <dennis@kernel.org>
    Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
    Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
    929f4baf
compression.c 39.2 KB