summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/btrfs/compression.c7
-rw-r--r--fs/btrfs/compression.h3
-rw-r--r--fs/btrfs/lzo.c2
-rw-r--r--fs/btrfs/zlib.c2
4 files changed, 7 insertions, 7 deletions
diff --git a/fs/btrfs/compression.c b/fs/btrfs/compression.c
index e650125b1d2b..6adc7f6857d7 100644
--- a/fs/btrfs/compression.c
+++ b/fs/btrfs/compression.c
@@ -862,7 +862,7 @@ static struct workspace_manager heuristic_wsm;
static void heuristic_init_workspace_manager(void)
{
- btrfs_init_workspace_manager(&heuristic_wsm, &btrfs_heuristic_compress);
+ btrfs_init_workspace_manager(BTRFS_COMPRESS_NONE);
}
static void heuristic_cleanup_workspace_manager(void)
@@ -937,9 +937,10 @@ static const struct btrfs_compress_op * const btrfs_compress_op[] = {
&btrfs_zstd_compress,
};
-void btrfs_init_workspace_manager(struct workspace_manager *wsm,
- const struct btrfs_compress_op *ops)
+void btrfs_init_workspace_manager(int type)
{
+ const struct btrfs_compress_op *ops = btrfs_compress_op[type];
+ struct workspace_manager *wsm = ops->workspace_manager;
struct list_head *workspace;
wsm->ops = ops;
diff --git a/fs/btrfs/compression.h b/fs/btrfs/compression.h
index 7091eae063e5..10f82e791769 100644
--- a/fs/btrfs/compression.h
+++ b/fs/btrfs/compression.h
@@ -120,8 +120,7 @@ struct workspace_manager {
wait_queue_head_t ws_wait;
};
-void btrfs_init_workspace_manager(struct workspace_manager *wsm,
- const struct btrfs_compress_op *ops);
+void btrfs_init_workspace_manager(int type);
struct list_head *btrfs_get_workspace(struct workspace_manager *wsm,
unsigned int level);
void btrfs_put_workspace(struct workspace_manager *wsm, struct list_head *ws);
diff --git a/fs/btrfs/lzo.c b/fs/btrfs/lzo.c
index aff105cc80e7..5b8470041bf6 100644
--- a/fs/btrfs/lzo.c
+++ b/fs/btrfs/lzo.c
@@ -65,7 +65,7 @@ static struct workspace_manager wsm;
static void lzo_init_workspace_manager(void)
{
- btrfs_init_workspace_manager(&wsm, &btrfs_lzo_compress);
+ btrfs_init_workspace_manager(BTRFS_COMPRESS_LZO);
}
static void lzo_cleanup_workspace_manager(void)
diff --git a/fs/btrfs/zlib.c b/fs/btrfs/zlib.c
index a5e8f0207473..be964128dba3 100644
--- a/fs/btrfs/zlib.c
+++ b/fs/btrfs/zlib.c
@@ -31,7 +31,7 @@ static struct workspace_manager wsm;
static void zlib_init_workspace_manager(void)
{
- btrfs_init_workspace_manager(&wsm, &btrfs_zlib_compress);
+ btrfs_init_workspace_manager(BTRFS_COMPRESS_ZLIB);
}
static void zlib_cleanup_workspace_manager(void)