btrfs-progs: introduce global config
authorDavid Sterba <dsterba@suse.com>
Mon, 21 Nov 2016 12:52:01 +0000 (13:52 +0100)
committerDavid Sterba <dsterba@suse.com>
Wed, 8 Mar 2017 12:00:45 +0000 (13:00 +0100)
Signed-off-by: David Sterba <dsterba@suse.com>
btrfs.c
utils.c
utils.h

diff --git a/btrfs.c b/btrfs.c
index cc70515..1192378 100644 (file)
--- a/btrfs.c
+++ b/btrfs.c
@@ -212,6 +212,8 @@ int main(int argc, char **argv)
        const char *bname;
        int ret;
 
+       btrfs_config_init();
+
        if ((bname = strrchr(argv[0], '/')) != NULL)
                bname++;
        else
diff --git a/utils.c b/utils.c
index 5a48197..1adcc84 100644 (file)
--- a/utils.c
+++ b/utils.c
@@ -63,6 +63,8 @@ static char argv0_buf[ARGV0_BUF_SIZE] = "btrfs";
 static int rand_seed_initlized = 0;
 static unsigned short rand_seed[3];
 
+struct btrfs_config bconf;
+
 const char *get_argv0_buf(void)
 {
        return argv0_buf;
@@ -4287,3 +4289,7 @@ unsigned int rand_range(unsigned int upper)
         */
        return (unsigned int)(jrand48(rand_seed) % upper);
 }
+
+void btrfs_config_init(void)
+{
+}
diff --git a/utils.h b/utils.h
index 3d30bd1..3dec495 100644 (file)
--- a/utils.h
+++ b/utils.h
@@ -368,6 +368,16 @@ int string_is_numerical(const char *str);
                __warning_on((cond), (fmt), ##__VA_ARGS__);             \
        } while (0)
 
+/*
+ * Global program state, configurable by command line and available to
+ * functions without extra context passing.
+ */
+struct btrfs_config {
+};
+extern struct btrfs_config bconf;
+
+void btrfs_config_init(void);
+
 __attribute__ ((format (printf, 1, 2)))
 static inline void __warning(const char *fmt, ...)
 {