This introduces erofs_get_configure() to get the global
configuration `cfg`.  This allows external entities to change
the global configuration through this helper, thereby controlling
the EROFS mkfs process.

It is just a temporary helper for liberofs and it will be
deprecated in the future.

Signed-off-by: Hongzhen Luo <[email protected]>
---
v2: Update the commit message.
v1: 
https://lore.kernel.org/all/[email protected]/
---
 include/erofs/config.h | 3 +++
 lib/config.c           | 5 +++++
 2 files changed, 8 insertions(+)

diff --git a/include/erofs/config.h b/include/erofs/config.h
index 3ce8c59..111f5b0 100644
--- a/include/erofs/config.h
+++ b/include/erofs/config.h
@@ -100,6 +100,9 @@ void erofs_init_configure(void);
 void erofs_show_config(void);
 void erofs_exit_configure(void);
 
+/* a temporary helper for updating global configuration */
+struct erofs_configure *erofs_get_configure();
+
 void erofs_set_fs_root(const char *rootdir);
 const char *erofs_fspath(const char *fullpath);
 
diff --git a/lib/config.c b/lib/config.c
index 26f1c35..44f0606 100644
--- a/lib/config.c
+++ b/lib/config.c
@@ -66,6 +66,11 @@ void erofs_exit_configure(void)
                free(cfg.c_compr_opts[i].alg);
 }
 
+struct erofs_configure *erofs_get_configure()
+{
+       return &cfg;
+}
+
 static unsigned int fullpath_prefix;   /* root directory prefix length */
 
 void erofs_set_fs_root(const char *rootdir)
-- 
2.39.3

Reply via email to