Rename the global `sbi` to `g_sbi` to prepare for
the upcoming per-sbi buffer.

It is checked by enabling multi-threadding option.

Signed-off-by: Hongzhen Luo <hongz...@linux.alibaba.com>
---
v2: The same as v1.
v1: 
https://lore.kernel.org/all/20240703121247.3797289-2-hongz...@linux.alibaba.com/
---
 dump/main.c              |  58 +++++++++----------
 fsck/main.c              |  34 +++++------
 fuse/main.c              |  40 ++++++-------
 include/erofs/cache.h    |   6 +-
 include/erofs/internal.h |   2 +-
 lib/cache.c              |  22 +++----
 lib/config.c             |   2 +-
 lib/diskbuf.c            |   6 +-
 lib/rebuild.c            |   4 +-
 mkfs/main.c              | 122 +++++++++++++++++++--------------------
 10 files changed, 148 insertions(+), 148 deletions(-)

diff --git a/dump/main.c b/dump/main.c
index 7c77c92..06ca4d3 100644
--- a/dump/main.c
+++ b/dump/main.c
@@ -166,10 +166,10 @@ static int erofsdump_parse_options_cfg(int argc, char 
**argv)
                        usage(argc, argv);
                        exit(0);
                case 3:
-                       err = erofs_blob_open_ro(&sbi, optarg);
+                       err = erofs_blob_open_ro(&g_sbi, optarg);
                        if (err)
                                return err;
-                       ++sbi.extra_devices;
+                       ++g_sbi.extra_devices;
                        break;
                case 4:
                        dumpcfg.inode_path = optarg;
@@ -180,7 +180,7 @@ static int erofsdump_parse_options_cfg(int argc, char 
**argv)
                        dumpcfg.show_subdirectories = true;
                        break;
                case 6:
-                       sbi.bdev.offset = strtoull(optarg, &endptr, 0);
+                       g_sbi.bdev.offset = strtoull(optarg, &endptr, 0);
                        if (*endptr != '\0') {
                                erofs_err("invalid disk offset %s", optarg);
                                return -EINVAL;
@@ -289,9 +289,9 @@ static int erofsdump_read_packed_inode(void)
 {
        int err;
        erofs_off_t occupied_size = 0;
-       struct erofs_inode vi = { .sbi = &sbi, .nid = sbi.packed_nid };
+       struct erofs_inode vi = { .sbi = &g_sbi, .nid = g_sbi.packed_nid };
 
-       if (!(erofs_sb_has_fragments(&sbi) && sbi.packed_nid > 0))
+       if (!(erofs_sb_has_fragments(&g_sbi) && g_sbi.packed_nid > 0))
                return 0;
 
        err = erofs_read_inode_from_disk(&vi);
@@ -315,7 +315,7 @@ static int erofsdump_readdir(struct erofs_dir_context *ctx)
 {
        int err;
        erofs_off_t occupied_size = 0;
-       struct erofs_inode vi = { .sbi = &sbi, .nid = ctx->de_nid };
+       struct erofs_inode vi = { .sbi = &g_sbi, .nid = ctx->de_nid };
 
        err = erofs_read_inode_from_disk(&vi);
        if (err) {
@@ -370,7 +370,7 @@ static void erofsdump_show_fileinfo(bool show_extent)
        int err, i;
        erofs_off_t size;
        u16 access_mode;
-       struct erofs_inode inode = { .sbi = &sbi, .nid = dumpcfg.nid };
+       struct erofs_inode inode = { .sbi = &g_sbi, .nid = dumpcfg.nid };
        char path[PATH_MAX];
        char access_mode_str[] = "rwxrwxrwx";
        char timebuf[128] = {0};
@@ -582,7 +582,7 @@ static void erofsdump_print_statistic(void)
                .pnid = 0,
                .dir = NULL,
                .cb = erofsdump_dirent_iter,
-               .de_nid = sbi.root_nid,
+               .de_nid = g_sbi.root_nid,
                .dname = "",
                .de_namelen = 0,
        };
@@ -626,48 +626,48 @@ static void erofsdump_print_supported_compressors(FILE 
*f, unsigned int mask)
 
 static void erofsdump_show_superblock(void)
 {
-       time_t time = sbi.build_time;
+       time_t time = g_sbi.build_time;
        char uuid_str[37];
        int i = 0;
 
        fprintf(stdout, "Filesystem magic number:                      
0x%04X\n",
                        EROFS_SUPER_MAGIC_V1);
        fprintf(stdout, "Filesystem blocksize:                         %u\n",
-                       erofs_blksiz(&sbi));
+                       erofs_blksiz(&g_sbi));
        fprintf(stdout, "Filesystem blocks:                            %llu\n",
-                       sbi.total_blocks | 0ULL);
+                       g_sbi.total_blocks | 0ULL);
        fprintf(stdout, "Filesystem inode metadata start block:        %u\n",
-                       sbi.meta_blkaddr);
+                       g_sbi.meta_blkaddr);
        fprintf(stdout, "Filesystem shared xattr metadata start block: %u\n",
-                       sbi.xattr_blkaddr);
+                       g_sbi.xattr_blkaddr);
        fprintf(stdout, "Filesystem root nid:                          %llu\n",
-                       sbi.root_nid | 0ULL);
-       if (erofs_sb_has_fragments(&sbi) && sbi.packed_nid > 0)
+                       g_sbi.root_nid | 0ULL);
+       if (erofs_sb_has_fragments(&g_sbi) && g_sbi.packed_nid > 0)
                fprintf(stdout, "Filesystem packed nid:                        
%llu\n",
-                       sbi.packed_nid | 0ULL);
-       if (erofs_sb_has_compr_cfgs(&sbi)) {
+                       g_sbi.packed_nid | 0ULL);
+       if (erofs_sb_has_compr_cfgs(&g_sbi)) {
                fprintf(stdout, "Filesystem compr_algs:                        
");
                erofsdump_print_supported_compressors(stdout,
-                       sbi.available_compr_algs);
+                       g_sbi.available_compr_algs);
        } else {
                fprintf(stdout, "Filesystem lz4_max_distance:                  
%u\n",
-                       sbi.lz4_max_distance | 0U);
+                       g_sbi.lz4_max_distance | 0U);
        }
        fprintf(stdout, "Filesystem sb_size:                           %u\n",
-                       sbi.sb_size | 0U);
+                       g_sbi.sb_size | 0U);
        fprintf(stdout, "Filesystem inode count:                       %llu\n",
-                       sbi.inos | 0ULL);
+                       g_sbi.inos | 0ULL);
        fprintf(stdout, "Filesystem created:                           %s",
                        ctime(&time));
        fprintf(stdout, "Filesystem features:                          ");
        for (; i < ARRAY_SIZE(feature_lists); i++) {
                u32 feat = le32_to_cpu(feature_lists[i].compat ?
-                                      sbi.feature_compat :
-                                      sbi.feature_incompat);
+                                      g_sbi.feature_compat :
+                                      g_sbi.feature_incompat);
                if (feat & feature_lists[i].flag)
                        fprintf(stdout, "%s ", feature_lists[i].name);
        }
-       erofs_uuid_unparse_lower(sbi.uuid, uuid_str);
+       erofs_uuid_unparse_lower(g_sbi.uuid, uuid_str);
        fprintf(stdout, "\nFilesystem UUID:                              %s\n",
                        uuid_str);
 }
@@ -684,13 +684,13 @@ int main(int argc, char **argv)
                goto exit;
        }
 
-       err = erofs_dev_open(&sbi, cfg.c_img_path, O_RDONLY | O_TRUNC);
+       err = erofs_dev_open(&g_sbi, cfg.c_img_path, O_RDONLY | O_TRUNC);
        if (err) {
                erofs_err("failed to open image file");
                goto exit;
        }
 
-       err = erofs_read_superblock(&sbi);
+       err = erofs_read_superblock(&g_sbi);
        if (err) {
                erofs_err("failed to read superblock");
                goto exit_dev_close;
@@ -715,11 +715,11 @@ int main(int argc, char **argv)
                erofsdump_show_fileinfo(dumpcfg.show_extent);
 
 exit_put_super:
-       erofs_put_super(&sbi);
+       erofs_put_super(&g_sbi);
 exit_dev_close:
-       erofs_dev_close(&sbi);
+       erofs_dev_close(&g_sbi);
 exit:
-       erofs_blob_closeall(&sbi);
+       erofs_blob_closeall(&g_sbi);
        erofs_exit_configure();
        return err;
 }
diff --git a/fsck/main.c b/fsck/main.c
index a505e99..8ec9486 100644
--- a/fsck/main.c
+++ b/fsck/main.c
@@ -183,10 +183,10 @@ static int erofsfsck_parse_options_cfg(int argc, char 
**argv)
                        }
                        break;
                case 3:
-                       ret = erofs_blob_open_ro(&sbi, optarg);
+                       ret = erofs_blob_open_ro(&g_sbi, optarg);
                        if (ret)
                                return ret;
-                       ++sbi.extra_devices;
+                       ++g_sbi.extra_devices;
                        break;
                case 4:
                        fsckcfg.force = true;
@@ -219,7 +219,7 @@ static int erofsfsck_parse_options_cfg(int argc, char 
**argv)
                        has_opt_preserve = true;
                        break;
                case 12:
-                       sbi.bdev.offset = strtoull(optarg, &endptr, 0);
+                       g_sbi.bdev.offset = strtoull(optarg, &endptr, 0);
                        if (*endptr != '\0') {
                                erofs_err("invalid disk offset %s", optarg);
                                return -EINVAL;
@@ -311,7 +311,7 @@ static int erofs_check_sb_chksum(void)
        struct erofs_super_block *sb;
        int ret;
 
-       ret = erofs_blk_read(&sbi, 0, buf, 0, 1);
+       ret = erofs_blk_read(&g_sbi, 0, buf, 0, 1);
        if (ret) {
                erofs_err("failed to read superblock to check checksum: %d",
                          ret);
@@ -321,10 +321,10 @@ static int erofs_check_sb_chksum(void)
        sb = (struct erofs_super_block *)(buf + EROFS_SUPER_OFFSET);
        sb->checksum = 0;
 
-       crc = erofs_crc32c(~0, (u8 *)sb, erofs_blksiz(&sbi) - 
EROFS_SUPER_OFFSET);
-       if (crc != sbi.checksum) {
+       crc = erofs_crc32c(~0, (u8 *)sb, erofs_blksiz(&g_sbi) - 
EROFS_SUPER_OFFSET);
+       if (crc != g_sbi.checksum) {
                erofs_err("superblock chksum doesn't match: saved(%08xh) 
calculated(%08xh)",
-                         sbi.checksum, crc);
+                         g_sbi.checksum, crc);
                fsckcfg.corrupted = true;
                return -1;
        }
@@ -889,7 +889,7 @@ static int erofsfsck_check_inode(erofs_nid_t pnid, 
erofs_nid_t nid)
        erofs_dbg("check inode: nid(%llu)", nid | 0ULL);
 
        inode.nid = nid;
-       inode.sbi = &sbi;
+       inode.sbi = &g_sbi;
        ret = erofs_read_inode_from_disk(&inode);
        if (ret) {
                if (ret == -EIO)
@@ -965,19 +965,19 @@ int main(int argc, char *argv[])
        cfg.c_dbg_lvl = -1;
 #endif
 
-       err = erofs_dev_open(&sbi, cfg.c_img_path, O_RDONLY);
+       err = erofs_dev_open(&g_sbi, cfg.c_img_path, O_RDONLY);
        if (err) {
                erofs_err("failed to open image file");
                goto exit;
        }
 
-       err = erofs_read_superblock(&sbi);
+       err = erofs_read_superblock(&g_sbi);
        if (err) {
                erofs_err("failed to read superblock");
                goto exit_dev_close;
        }
 
-       if (erofs_sb_has_sb_chksum(&sbi) && erofs_check_sb_chksum()) {
+       if (erofs_sb_has_sb_chksum(&g_sbi) && erofs_check_sb_chksum()) {
                erofs_err("failed to verify superblock checksum");
                goto exit_put_super;
        }
@@ -985,15 +985,15 @@ int main(int argc, char *argv[])
        if (fsckcfg.extract_path)
                erofsfsck_hardlink_init();
 
-       if (erofs_sb_has_fragments(&sbi) && sbi.packed_nid > 0) {
-               err = erofsfsck_check_inode(sbi.packed_nid, sbi.packed_nid);
+       if (erofs_sb_has_fragments(&g_sbi) && g_sbi.packed_nid > 0) {
+               err = erofsfsck_check_inode(g_sbi.packed_nid, g_sbi.packed_nid);
                if (err) {
                        erofs_err("failed to verify packed file");
                        goto exit_hardlink;
                }
        }
 
-       err = erofsfsck_check_inode(sbi.root_nid, sbi.root_nid);
+       err = erofsfsck_check_inode(g_sbi.root_nid, g_sbi.root_nid);
        if (fsckcfg.corrupted) {
                if (!fsckcfg.extract_path)
                        erofs_err("Found some filesystem corruption");
@@ -1019,11 +1019,11 @@ exit_hardlink:
        if (fsckcfg.extract_path)
                erofsfsck_hardlink_exit();
 exit_put_super:
-       erofs_put_super(&sbi);
+       erofs_put_super(&g_sbi);
 exit_dev_close:
-       erofs_dev_close(&sbi);
+       erofs_dev_close(&g_sbi);
 exit:
-       erofs_blob_closeall(&sbi);
+       erofs_blob_closeall(&g_sbi);
        erofs_exit_configure();
        return err ? 1 : 0;
 }
diff --git a/fuse/main.c b/fuse/main.c
index 70e3218..f6c04e8 100644
--- a/fuse/main.c
+++ b/fuse/main.c
@@ -41,13 +41,13 @@ struct erofsfuse_lookupdir_context {
 static inline erofs_nid_t erofsfuse_to_nid(fuse_ino_t ino)
 {
        if (ino == FUSE_ROOT_ID)
-               return sbi.root_nid;
+               return g_sbi.root_nid;
        return (erofs_nid_t)(ino - FUSE_ROOT_ID);
 }
 
 static inline fuse_ino_t erofsfuse_to_ino(erofs_nid_t nid)
 {
-       if (nid == sbi.root_nid)
+       if (nid == g_sbi.root_nid)
                return FUSE_ROOT_ID;
        return (nid + FUSE_ROOT_ID);
 }
@@ -60,7 +60,7 @@ static void erofsfuse_fill_stat(struct erofs_inode *vi, 
struct stat *stbuf)
        stbuf->st_mode = vi->i_mode;
        stbuf->st_nlink = vi->i_nlink;
        stbuf->st_size = vi->i_size;
-       stbuf->st_blocks = roundup(vi->i_size, erofs_blksiz(&sbi)) >> 9;
+       stbuf->st_blocks = roundup(vi->i_size, erofs_blksiz(&g_sbi)) >> 9;
        stbuf->st_uid = vi->i_uid;
        stbuf->st_gid = vi->i_gid;
        stbuf->st_ctime = vi->i_mtime;
@@ -94,7 +94,7 @@ static int erofsfuse_add_dentry(struct erofs_dir_context *ctx)
 #if FUSE_MAJOR_VERSION >= 3
                int ret;
                struct erofs_inode vi = {
-                       .sbi = &sbi,
+                       .sbi = &g_sbi,
                        .nid = ctx->de_nid
                };
 
@@ -140,7 +140,7 @@ static int erofsfuse_lookup_dentry(struct erofs_dir_context 
*ctx)
        if (!strncmp(lookup_ctx->target_name, ctx->dname, ctx->de_namelen)) {
                int ret;
                struct erofs_inode vi = {
-                       .sbi = &sbi,
+                       .sbi = &g_sbi,
                        .nid = (erofs_nid_t)ctx->de_nid,
                };
 
@@ -236,7 +236,7 @@ static void erofsfuse_open(fuse_req_t req, fuse_ino_t ino,
                return;
        }
 
-       vi->sbi = &sbi;
+       vi->sbi = &g_sbi;
        vi->nid = erofsfuse_to_nid(ino);
        ret = erofs_read_inode_from_disk(vi);
        if (ret < 0) {
@@ -262,7 +262,7 @@ static void erofsfuse_getattr(fuse_req_t req, fuse_ino_t 
ino,
 {
        int ret;
        struct stat stbuf = { 0 };
-       struct erofs_inode vi = { .sbi = &sbi, .nid = erofsfuse_to_nid(ino) };
+       struct erofs_inode vi = { .sbi = &g_sbi, .nid = erofsfuse_to_nid(ino) };
 
        ret = erofs_read_inode_from_disk(&vi);
        if (ret < 0)
@@ -286,7 +286,7 @@ static void erofsfuse_opendir(fuse_req_t req, fuse_ino_t 
ino,
                return;
        }
 
-       vi->sbi = &sbi;
+       vi->sbi = &g_sbi;
        vi->nid = erofsfuse_to_nid(ino);
        ret = erofs_read_inode_from_disk(vi);
        if (ret < 0) {
@@ -329,7 +329,7 @@ static void erofsfuse_lookup(fuse_req_t req, fuse_ino_t 
parent,
                return;
        }
 
-       vi->sbi = &sbi;
+       vi->sbi = &g_sbi;
        vi->nid = erofsfuse_to_nid(parent);
        ret = erofs_read_inode_from_disk(vi);
        if (ret < 0) {
@@ -399,7 +399,7 @@ static void erofsfuse_readlink(fuse_req_t req, fuse_ino_t 
ino)
 {
        int ret;
        char *buf = NULL;
-       struct erofs_inode vi = { .sbi = &sbi, .nid = erofsfuse_to_nid(ino) };
+       struct erofs_inode vi = { .sbi = &g_sbi, .nid = erofsfuse_to_nid(ino) };
 
        ret = erofs_read_inode_from_disk(&vi);
        if (ret < 0) {
@@ -436,7 +436,7 @@ static void erofsfuse_getxattr(fuse_req_t req, fuse_ino_t 
ino, const char *name,
 {
        int ret;
        char *buf = NULL;
-       struct erofs_inode vi = { .sbi = &sbi, .nid = erofsfuse_to_nid(ino) };
+       struct erofs_inode vi = { .sbi = &g_sbi, .nid = erofsfuse_to_nid(ino) };
 
        erofs_dbg("getattr(%llu): name = %s, size = %zu", ino | 0ULL, name, 
size);
 
@@ -469,7 +469,7 @@ static void erofsfuse_listxattr(fuse_req_t req, fuse_ino_t 
ino, size_t size)
 {
        int ret;
        char *buf = NULL;
-       struct erofs_inode vi = { .sbi = &sbi, .nid = erofsfuse_to_nid(ino) };
+       struct erofs_inode vi = { .sbi = &g_sbi, .nid = erofsfuse_to_nid(ino) };
 
        erofs_dbg("listxattr(%llu): size = %zu", ino | 0ULL, size);
 
@@ -573,10 +573,10 @@ static int optional_opt_func(void *data, const char *arg, 
int key,
 
        switch (key) {
        case 1:
-               ret = erofs_blob_open_ro(&sbi, arg + sizeof("--device=") - 1);
+               ret = erofs_blob_open_ro(&g_sbi, arg + sizeof("--device=") - 1);
                if (ret)
                        return -1;
-               ++sbi.extra_devices;
+               ++g_sbi.extra_devices;
                return 0;
        case FUSE_OPT_KEY_NONOPT:
                if (fusecfg.mountpoint)
@@ -675,14 +675,14 @@ int main(int argc, char *argv[])
        if (fusecfg.odebug && cfg.c_dbg_lvl < EROFS_DBG)
                cfg.c_dbg_lvl = EROFS_DBG;
 
-       sbi.bdev.offset = fusecfg.offset;
-       ret = erofs_dev_open(&sbi, fusecfg.disk, O_RDONLY);
+       g_sbi.bdev.offset = fusecfg.offset;
+       ret = erofs_dev_open(&g_sbi, fusecfg.disk, O_RDONLY);
        if (ret) {
                fprintf(stderr, "failed to open: %s\n", fusecfg.disk);
                goto err_fuse_free_args;
        }
 
-       ret = erofs_read_superblock(&sbi);
+       ret = erofs_read_superblock(&g_sbi);
        if (ret) {
                fprintf(stderr, "failed to read erofs super block\n");
                goto err_dev_close;
@@ -744,10 +744,10 @@ int main(int argc, char *argv[])
 #endif
 
 err_super_put:
-       erofs_put_super(&sbi);
+       erofs_put_super(&g_sbi);
 err_dev_close:
-       erofs_blob_closeall(&sbi);
-       erofs_dev_close(&sbi);
+       erofs_blob_closeall(&g_sbi);
+       erofs_dev_close(&g_sbi);
 err_fuse_free_args:
        free(opts.mountpoint);
        fuse_opt_free_args(&args);
diff --git a/include/erofs/cache.h b/include/erofs/cache.h
index f30fe9f..234185f 100644
--- a/include/erofs/cache.h
+++ b/include/erofs/cache.h
@@ -56,14 +56,14 @@ struct erofs_buffer_block {
 static inline const int get_alignsize(int type, int *type_ret)
 {
        if (type == DATA)
-               return erofs_blksiz(&sbi);
+               return erofs_blksiz(&g_sbi);
 
        if (type == INODE) {
                *type_ret = META;
                return sizeof(struct erofs_inode_compact);
        } else if (type == DIRA) {
                *type_ret = META;
-               return erofs_blksiz(&sbi);
+               return erofs_blksiz(&g_sbi);
        } else if (type == XATTR) {
                *type_ret = META;
                return sizeof(struct erofs_xattr_entry);
@@ -87,7 +87,7 @@ static inline erofs_off_t erofs_btell(struct 
erofs_buffer_head *bh, bool end)
        if (bb->blkaddr == NULL_ADDR)
                return NULL_ADDR_UL;
 
-       return erofs_pos(&sbi, bb->blkaddr) +
+       return erofs_pos(&g_sbi, bb->blkaddr) +
                (end ? list_next_entry(bh, list)->off : bh->off);
 }
 
diff --git a/include/erofs/internal.h b/include/erofs/internal.h
index d5c5ce2..5f70570 100644
--- a/include/erofs/internal.h
+++ b/include/erofs/internal.h
@@ -48,7 +48,7 @@ typedef u32 erofs_blk_t;
 #define NULL_ADDR_UL   ((unsigned long)-1)
 
 /* global sbi */
-extern struct erofs_sb_info sbi;
+extern struct erofs_sb_info g_sbi;
 
 #define erofs_blksiz(sbi)      (1u << (sbi)->blkszbits)
 #define erofs_blknr(sbi, addr)  ((addr) >> (sbi)->blkszbits)
diff --git a/lib/cache.c b/lib/cache.c
index 328ca4a..e3dc9de 100644
--- a/lib/cache.c
+++ b/lib/cache.c
@@ -56,7 +56,7 @@ static void erofs_bupdate_mapped(struct erofs_buffer_block 
*bb)
                return;
 
        bkt = mapped_buckets[bb->type] +
-               (bb->buffers.off & (erofs_blksiz(&sbi) - 1));
+               (bb->buffers.off & (erofs_blksiz(&g_sbi) - 1));
        list_del(&bb->mapped_list);
        list_add_tail(&bb->mapped_list, bkt);
 }
@@ -69,7 +69,7 @@ static int __erofs_battach(struct erofs_buffer_block *bb,
                           unsigned int extrasize,
                           bool dryrun)
 {
-       const unsigned int blksiz = erofs_blksiz(&sbi);
+       const unsigned int blksiz = erofs_blksiz(&g_sbi);
        const unsigned int blkmask = blksiz - 1;
        erofs_off_t boff = bb->buffers.off;
        const erofs_off_t alignedoffset = roundup(boff, alignsize);
@@ -86,7 +86,7 @@ static int __erofs_battach(struct erofs_buffer_block *bb,
                blkaddr = bb->blkaddr;
                if (blkaddr != NULL_ADDR) {
                        tailupdate = (tail_blkaddr == blkaddr +
-                                     BLK_ROUND_UP(&sbi, boff));
+                                     BLK_ROUND_UP(&g_sbi, boff));
                        if (oob && !tailupdate)
                                return -EINVAL;
                }
@@ -102,7 +102,7 @@ static int __erofs_battach(struct erofs_buffer_block *bb,
                bb->buffers.off = boff;
                /* need to update the tail_blkaddr */
                if (tailupdate)
-                       tail_blkaddr = blkaddr + BLK_ROUND_UP(&sbi, boff);
+                       tail_blkaddr = blkaddr + BLK_ROUND_UP(&g_sbi, boff);
                erofs_bupdate_mapped(bb);
        }
        return ((alignedoffset + incr - 1) & blkmask) + 1;
@@ -125,7 +125,7 @@ static int erofs_bfind_for_attach(int type, erofs_off_t 
size,
                                  unsigned int alignsize,
                                  struct erofs_buffer_block **bbp)
 {
-       const unsigned int blksiz = erofs_blksiz(&sbi);
+       const unsigned int blksiz = erofs_blksiz(&g_sbi);
        struct erofs_buffer_block *cur, *bb;
        unsigned int used0, used_before, usedmax, used;
        int ret;
@@ -322,7 +322,7 @@ static erofs_blk_t __erofs_mapbh(struct erofs_buffer_block 
*bb)
                erofs_bupdate_mapped(bb);
        }
 
-       blkaddr = bb->blkaddr + BLK_ROUND_UP(&sbi, bb->buffers.off);
+       blkaddr = bb->blkaddr + BLK_ROUND_UP(&g_sbi, bb->buffers.off);
        if (blkaddr > tail_blkaddr)
                tail_blkaddr = blkaddr;
 
@@ -360,7 +360,7 @@ static void erofs_bfree(struct erofs_buffer_block *bb)
 
 int erofs_bflush(struct erofs_buffer_block *bb)
 {
-       const unsigned int blksiz = erofs_blksiz(&sbi);
+       const unsigned int blksiz = erofs_blksiz(&g_sbi);
        struct erofs_buffer_block *p, *n;
        erofs_blk_t blkaddr;
 
@@ -392,11 +392,11 @@ int erofs_bflush(struct erofs_buffer_block *bb)
 
                padding = blksiz - (p->buffers.off & (blksiz - 1));
                if (padding != blksiz)
-                       erofs_dev_fillzero(&sbi, erofs_pos(&sbi, blkaddr) - 
padding,
+                       erofs_dev_fillzero(&g_sbi, erofs_pos(&g_sbi, blkaddr) - 
padding,
                                           padding, true);
 
                if (p->type != DATA)
-                       erofs_metablkcnt += BLK_ROUND_UP(&sbi, p->buffers.off);
+                       erofs_metablkcnt += BLK_ROUND_UP(&g_sbi, 
p->buffers.off);
                erofs_dbg("block %u to %u flushed", p->blkaddr, blkaddr - 1);
                erofs_bfree(p);
        }
@@ -411,7 +411,7 @@ void erofs_bdrop(struct erofs_buffer_head *bh, bool 
tryrevoke)
 
        /* tail_blkaddr could be rolled back after revoking all bhs */
        if (tryrevoke && blkaddr != NULL_ADDR &&
-           tail_blkaddr == blkaddr + BLK_ROUND_UP(&sbi, bb->buffers.off))
+           tail_blkaddr == blkaddr + BLK_ROUND_UP(&g_sbi, bb->buffers.off))
                rollback = true;
 
        bh->op = &erofs_drop_directly_bhops;
@@ -421,7 +421,7 @@ void erofs_bdrop(struct erofs_buffer_head *bh, bool 
tryrevoke)
                return;
 
        if (!rollback && bb->type != DATA)
-               erofs_metablkcnt += BLK_ROUND_UP(&sbi, bb->buffers.off);
+               erofs_metablkcnt += BLK_ROUND_UP(&g_sbi, bb->buffers.off);
        erofs_bfree(bb);
        if (rollback)
                tail_blkaddr = blkaddr;
diff --git a/lib/config.c b/lib/config.c
index 44f0606..848bc59 100644
--- a/lib/config.c
+++ b/lib/config.c
@@ -19,7 +19,7 @@
 #endif
 
 struct erofs_configure cfg;
-struct erofs_sb_info sbi;
+struct erofs_sb_info g_sbi;
 bool erofs_stdout_tty;
 
 void erofs_init_configure(void)
diff --git a/lib/diskbuf.c b/lib/diskbuf.c
index e5f1f0c..3789654 100644
--- a/lib/diskbuf.c
+++ b/lib/diskbuf.c
@@ -104,10 +104,10 @@ int erofs_diskbuf_init(unsigned int nstrms)
                struct stat st;
 
                /* try to use the devfd for regfiles on stream 0 */
-               if (strm == dbufstrm && !sbi.bdev.ops) {
+               if (strm == dbufstrm && !g_sbi.bdev.ops) {
                        strm->devpos = 1ULL << 40;
-                       if (!ftruncate(sbi.bdev.fd, strm->devpos << 1)) {
-                               strm->fd = dup(sbi.bdev.fd);
+                       if (!ftruncate(g_sbi.bdev.fd, strm->devpos << 1)) {
+                               strm->fd = dup(g_sbi.bdev.fd);
                                if (lseek(strm->fd, strm->devpos,
                                          SEEK_SET) != strm->devpos)
                                        return -EIO;
diff --git a/lib/rebuild.c b/lib/rebuild.c
index 0b1a6c6..9e8bf8f 100644
--- a/lib/rebuild.c
+++ b/lib/rebuild.c
@@ -360,7 +360,7 @@ static int erofs_rebuild_dirent_iter(struct 
erofs_dir_context *ctx)
                        inode->i_ino[1] = inode->nid;
                        inode->i_nlink = 1;
 
-                       ret = erofs_rebuild_update_inode(&sbi, inode,
+                       ret = erofs_rebuild_update_inode(&g_sbi, inode,
                                                         rctx->datamode);
                        if (ret) {
                                erofs_iput(inode);
@@ -386,7 +386,7 @@ static int erofs_rebuild_dirent_iter(struct 
erofs_dir_context *ctx)
        }
 
        /* reset sbi, nid after subdirs are all loaded for the final dump */
-       inode->sbi = &sbi;
+       inode->sbi = &g_sbi;
        inode->nid = 0;
 out:
        free(path);
diff --git a/mkfs/main.c b/mkfs/main.c
index bfd6d60..37f250b 100644
--- a/mkfs/main.c
+++ b/mkfs/main.c
@@ -357,7 +357,7 @@ static int parse_extended_opts(const char *opts)
                } else if (MATCH_EXTENTED_OPT("nosbcrc", token, keylen)) {
                        if (vallen)
                                return -EINVAL;
-                       erofs_sb_clear_sb_chksum(&sbi);
+                       erofs_sb_clear_sb_chksum(&g_sbi);
                } else if (MATCH_EXTENTED_OPT("noinline_data", token, keylen)) {
                        if (vallen)
                                return -EINVAL;
@@ -560,7 +560,7 @@ static int mkfs_parse_options_cfg(int argc, char *argv[])
                                erofs_err("invalid block size %s", optarg);
                                return -EINVAL;
                        }
-                       sbi.blkszbits = ilog2(i);
+                       g_sbi.blkszbits = ilog2(i);
                        break;
 
                case 'd':
@@ -589,12 +589,12 @@ static int mkfs_parse_options_cfg(int argc, char *argv[])
 
                case 'L':
                        if (optarg == NULL ||
-                           strlen(optarg) > sizeof(sbi.volume_name)) {
+                           strlen(optarg) > sizeof(g_sbi.volume_name)) {
                                erofs_err("invalid volume label");
                                return -EINVAL;
                        }
-                       strncpy(sbi.volume_name, optarg,
-                               sizeof(sbi.volume_name));
+                       strncpy(g_sbi.volume_name, optarg,
+                               sizeof(g_sbi.volume_name));
                        break;
 
                case 'T':
@@ -606,7 +606,7 @@ static int mkfs_parse_options_cfg(int argc, char *argv[])
                        cfg.c_timeinherit = TIMESTAMP_FIXED;
                        break;
                case 'U':
-                       if (erofs_uuid_parse(optarg, sbi.uuid)) {
+                       if (erofs_uuid_parse(optarg, g_sbi.uuid)) {
                                erofs_err("invalid UUID %s", optarg);
                                return -EINVAL;
                        }
@@ -709,7 +709,7 @@ static int mkfs_parse_options_cfg(int argc, char *argv[])
                                          optarg);
                                return -EINVAL;
                        }
-                       erofs_sb_set_chunked_file(&sbi);
+                       erofs_sb_set_chunked_file(&g_sbi);
                        break;
                case 12:
                        quiet = true;
@@ -762,7 +762,7 @@ static int mkfs_parse_options_cfg(int argc, char *argv[])
                                cfg.c_ovlfs_strip = false;
                        break;
                case 517:
-                       sbi.bdev.offset = strtoull(optarg, &endptr, 0);
+                       g_sbi.bdev.offset = strtoull(optarg, &endptr, 0);
                        if (*endptr != '\0') {
                                erofs_err("invalid disk offset %s", optarg);
                                return -EINVAL;
@@ -829,7 +829,7 @@ static int mkfs_parse_options_cfg(int argc, char *argv[])
                }
        }
 
-       if (cfg.c_blobdev_path && cfg.c_chunkbits < sbi.blkszbits) {
+       if (cfg.c_blobdev_path && cfg.c_chunkbits < g_sbi.blkszbits) {
                erofs_err("--blobdev must be used together with --chunksize");
                return -EINVAL;
        }
@@ -942,14 +942,14 @@ static int mkfs_parse_options_cfg(int argc, char *argv[])
                cfg.c_showprogress = false;
        }
 
-       if (cfg.c_compr_opts[0].alg && erofs_blksiz(&sbi) != getpagesize())
+       if (cfg.c_compr_opts[0].alg && erofs_blksiz(&g_sbi) != getpagesize())
                erofs_warn("Please note that subpage blocksize with compression 
isn't yet supported in kernel. "
                           "This compressed image will only work with bs = ps = 
%u bytes",
-                          erofs_blksiz(&sbi));
+                          erofs_blksiz(&g_sbi));
 
        if (pclustersize_max) {
-               if (pclustersize_max < erofs_blksiz(&sbi) ||
-                   pclustersize_max % erofs_blksiz(&sbi)) {
+               if (pclustersize_max < erofs_blksiz(&g_sbi) ||
+                   pclustersize_max % erofs_blksiz(&g_sbi)) {
                        erofs_err("invalid physical clustersize %u",
                                  pclustersize_max);
                        return -EINVAL;
@@ -957,15 +957,15 @@ static int mkfs_parse_options_cfg(int argc, char *argv[])
                cfg.c_mkfs_pclustersize_max = pclustersize_max;
                cfg.c_mkfs_pclustersize_def = cfg.c_mkfs_pclustersize_max;
        }
-       if (cfg.c_chunkbits && cfg.c_chunkbits < sbi.blkszbits) {
+       if (cfg.c_chunkbits && cfg.c_chunkbits < g_sbi.blkszbits) {
                erofs_err("chunksize %u must be larger than block size",
                          1u << cfg.c_chunkbits);
                return -EINVAL;
        }
 
        if (pclustersize_packed) {
-               if (pclustersize_packed < erofs_blksiz(&sbi) ||
-                   pclustersize_packed % erofs_blksiz(&sbi)) {
+               if (pclustersize_packed < erofs_blksiz(&g_sbi) ||
+                   pclustersize_packed % erofs_blksiz(&g_sbi)) {
                        erofs_err("invalid pcluster size for the packed file 
%u",
                                  pclustersize_packed);
                        return -EINVAL;
@@ -985,11 +985,11 @@ static void erofs_mkfs_default_options(void)
        cfg.c_mt_workers = erofs_get_available_processors();
        cfg.c_mkfs_segment_size = 16ULL * 1024 * 1024;
 #endif
-       sbi.blkszbits = ilog2(min_t(u32, getpagesize(), EROFS_MAX_BLOCK_SIZE));
-       cfg.c_mkfs_pclustersize_max = erofs_blksiz(&sbi);
+       g_sbi.blkszbits = ilog2(min_t(u32, getpagesize(), 
EROFS_MAX_BLOCK_SIZE));
+       cfg.c_mkfs_pclustersize_max = erofs_blksiz(&g_sbi);
        cfg.c_mkfs_pclustersize_def = cfg.c_mkfs_pclustersize_max;
-       sbi.feature_incompat = EROFS_FEATURE_INCOMPAT_ZERO_PADDING;
-       sbi.feature_compat = EROFS_FEATURE_COMPAT_SB_CHKSUM |
+       g_sbi.feature_incompat = EROFS_FEATURE_INCOMPAT_ZERO_PADDING;
+       g_sbi.feature_compat = EROFS_FEATURE_COMPAT_SB_CHKSUM |
                             EROFS_FEATURE_COMPAT_MTIME;
 }
 
@@ -1071,7 +1071,7 @@ static int erofs_mkfs_rebuild_load_trees(struct 
erofs_inode *root)
                return -EOPNOTSUPP;
        }
 
-       ret = erofs_mkfs_init_devices(&sbi, rebuild_src_count);
+       ret = erofs_mkfs_init_devices(&g_sbi, rebuild_src_count);
        if (ret)
                return ret;
 
@@ -1086,12 +1086,12 @@ static int erofs_mkfs_rebuild_load_trees(struct 
erofs_inode *root)
                }
                DBG_BUGON(src->dev < 1);
                idx = src->dev - 1;
-               sbi.devs[idx].blocks = nblocks;
+               g_sbi.devs[idx].blocks = nblocks;
                if (tag && *tag)
-                       memcpy(sbi.devs[idx].tag, tag, sizeof(sbi.devs[0].tag));
+                       memcpy(g_sbi.devs[idx].tag, tag, 
sizeof(g_sbi.devs[0].tag));
                else
                        /* convert UUID of the source image to a hex string */
-                       sprintf((char *)sbi.devs[idx].tag,
+                       sprintf((char *)g_sbi.devs[idx].tag,
                                "%04x%04x%04x%04x%04x%04x%04x%04x",
                                (src->uuid[0] << 8) | src->uuid[1],
                                (src->uuid[2] << 8) | src->uuid[3],
@@ -1113,16 +1113,16 @@ static void erofs_mkfs_showsummaries(erofs_blk_t 
nblocks)
        if (!(cfg.c_dbg_lvl > EROFS_ERR && cfg.c_showprogress))
                return;
 
-       erofs_uuid_unparse_lower(sbi.uuid, uuid_str);
+       erofs_uuid_unparse_lower(g_sbi.uuid, uuid_str);
 
        fprintf(stdout, "------\nFilesystem UUID: %s\n"
                "Filesystem total blocks: %u (of %u-byte blocks)\n"
                "Filesystem total inodes: %llu\n"
                "Filesystem %s metadata blocks: %u\n"
                "Filesystem %s deduplicated bytes (of source files): %llu\n",
-               uuid_str, nblocks, 1U << sbi.blkszbits, sbi.inos | 0ULL,
+               uuid_str, nblocks, 1U << g_sbi.blkszbits, g_sbi.inos | 0ULL,
                incr, erofs_total_metablocks(),
-               incr, sbi.saved_by_deduplication | 0ULL);
+               incr, g_sbi.saved_by_deduplication | 0ULL);
 }
 
 int main(int argc, char **argv)
@@ -1154,14 +1154,14 @@ int main(int argc, char **argv)
        }
 
        if (cfg.c_unix_timestamp != -1) {
-               sbi.build_time      = cfg.c_unix_timestamp;
-               sbi.build_time_nsec = 0;
+               g_sbi.build_time      = cfg.c_unix_timestamp;
+               g_sbi.build_time_nsec = 0;
        } else if (!gettimeofday(&t, NULL)) {
-               sbi.build_time      = t.tv_sec;
-               sbi.build_time_nsec = t.tv_usec;
+               g_sbi.build_time      = t.tv_sec;
+               g_sbi.build_time_nsec = t.tv_usec;
        }
 
-       err = erofs_dev_open(&sbi, cfg.c_img_path, O_RDWR |
+       err = erofs_dev_open(&g_sbi, cfg.c_img_path, O_RDWR |
                                (incremental_mode ? 0 : O_TRUNC));
        if (err) {
                fprintf(stderr, "Try '%s --help' for more information.\n", 
argv[0]);
@@ -1224,7 +1224,7 @@ int main(int argc, char **argv)
                         * If mapfile is unspecified for tarfs index mode,
                         * 512-byte block size is enforced here.
                         */
-                       sbi.blkszbits = 9;
+                       g_sbi.blkszbits = 9;
                }
        }
 
@@ -1241,7 +1241,7 @@ int main(int argc, char **argv)
                        erofs_err("failed to read superblock of %s", 
src->devname);
                        goto exit;
                }
-               sbi.blkszbits = src->blkszbits;
+               g_sbi.blkszbits = src->blkszbits;
        }
 
        if (!incremental_mode) {
@@ -1251,7 +1251,7 @@ int main(int argc, char **argv)
                        goto exit;
                }
                /* generate new UUIDs for clean builds */
-               erofs_uuid_generate(sbi.uuid);
+               erofs_uuid_generate(g_sbi.uuid);
        } else {
                union {
                        struct stat st;
@@ -1259,17 +1259,17 @@ int main(int argc, char **argv)
                } u;
 
                erofs_warn("EXPERIMENTAL incremental build in use. Use at your 
own risk!");
-               err = erofs_read_superblock(&sbi);
+               err = erofs_read_superblock(&g_sbi);
                if (err) {
-                       erofs_err("failed to read superblock of %s", 
sbi.devname);
+                       erofs_err("failed to read superblock of %s", 
g_sbi.devname);
                        goto exit;
                }
 
-               err = erofs_io_fstat(&sbi.bdev, &u.st);
+               err = erofs_io_fstat(&g_sbi.bdev, &u.st);
                if (!err && S_ISREG(u.st.st_mode))
-                       u.startblk = DIV_ROUND_UP(u.st.st_size, 
erofs_blksiz(&sbi));
+                       u.startblk = DIV_ROUND_UP(u.st.st_size, 
erofs_blksiz(&g_sbi));
                else
-                       u.startblk = sbi.primarydevice_blocks;
+                       u.startblk = g_sbi.primarydevice_blocks;
                erofs_buffer_init(u.startblk);
                sb_bh = NULL;
        }
@@ -1283,14 +1283,14 @@ int main(int argc, char **argv)
                }
        }
 
-       err = erofs_load_compress_hints(&sbi);
+       err = erofs_load_compress_hints(&g_sbi);
        if (err) {
                erofs_err("failed to load compress hints %s",
                          cfg.c_compress_hints_file);
                goto exit;
        }
 
-       err = z_erofs_compress_init(&sbi, sb_bh);
+       err = z_erofs_compress_init(&g_sbi, sb_bh);
        if (err) {
                erofs_err("failed to initialize compressor: %s",
                          erofs_strerror(err));
@@ -1300,9 +1300,9 @@ int main(int argc, char **argv)
        if (cfg.c_dedupe) {
                if (!cfg.c_compr_opts[0].alg) {
                        erofs_err("Compression is not enabled.  Turn on 
chunk-based data deduplication instead.");
-                       cfg.c_chunkbits = sbi.blkszbits;
+                       cfg.c_chunkbits = g_sbi.blkszbits;
                } else {
-                       err = z_erofs_dedupe_init(erofs_blksiz(&sbi));
+                       err = z_erofs_dedupe_init(erofs_blksiz(&g_sbi));
                        if (err) {
                                erofs_err("failed to initialize deduplication: 
%s",
                                          erofs_strerror(err));
@@ -1319,7 +1319,7 @@ int main(int argc, char **argv)
 
        if (((erofstar.index_mode && !erofstar.headeronly_mode) &&
            !erofstar.mapfile) || cfg.c_blobdev_path) {
-               err = erofs_mkfs_init_devices(&sbi, 1);
+               err = erofs_mkfs_init_devices(&g_sbi, 1);
                if (err) {
                        erofs_err("failed to generate device table: %s",
                                  erofs_strerror(err));
@@ -1330,7 +1330,7 @@ int main(int argc, char **argv)
        erofs_inode_manager_init();
 
        if (tar_mode) {
-               root = erofs_rebuild_make_root(&sbi);
+               root = erofs_rebuild_make_root(&g_sbi);
                if (IS_ERR(root)) {
                        err = PTR_ERR(root);
                        goto exit;
@@ -1345,7 +1345,7 @@ int main(int argc, char **argv)
                if (err < 0)
                        goto exit;
        } else if (rebuild_mode) {
-               root = erofs_rebuild_make_root(&sbi);
+               root = erofs_rebuild_make_root(&g_sbi);
                if (IS_ERR(root)) {
                        err = PTR_ERR(root);
                        goto exit;
@@ -1358,7 +1358,7 @@ int main(int argc, char **argv)
                if (err)
                        goto exit;
        } else {
-               err = erofs_build_shared_xattrs_from_path(&sbi, cfg.c_src_path);
+               err = erofs_build_shared_xattrs_from_path(&g_sbi, 
cfg.c_src_path);
                if (err) {
                        erofs_err("failed to build shared xattrs: %s",
                                  erofs_strerror(err));
@@ -1366,27 +1366,27 @@ int main(int argc, char **argv)
                }
 
                if (cfg.c_extra_ea_name_prefixes)
-                       erofs_xattr_write_name_prefixes(&sbi, packedfile);
+                       erofs_xattr_write_name_prefixes(&g_sbi, packedfile);
 
-               root = erofs_mkfs_build_tree_from_path(&sbi, cfg.c_src_path);
+               root = erofs_mkfs_build_tree_from_path(&g_sbi, cfg.c_src_path);
                if (IS_ERR(root)) {
                        err = PTR_ERR(root);
                        goto exit;
                }
        }
 
-       if (erofstar.index_mode && sbi.extra_devices && !erofstar.mapfile)
-               sbi.devs[0].blocks = BLK_ROUND_UP(&sbi, erofstar.offset);
+       if (erofstar.index_mode && g_sbi.extra_devices && !erofstar.mapfile)
+               g_sbi.devs[0].blocks = BLK_ROUND_UP(&g_sbi, erofstar.offset);
 
-       if (erofs_sb_has_fragments(&sbi)) {
+       if (erofs_sb_has_fragments(&g_sbi)) {
                erofs_update_progressinfo("Handling packed data ...");
-               err = erofs_flush_packed_inode(&sbi);
+               err = erofs_flush_packed_inode(&g_sbi);
                if (err)
                        goto exit;
        }
 
-       if (erofstar.index_mode || cfg.c_chunkbits || sbi.extra_devices) {
-               err = erofs_mkfs_dump_blobs(&sbi);
+       if (erofstar.index_mode || cfg.c_chunkbits || g_sbi.extra_devices) {
+               err = erofs_mkfs_dump_blobs(&g_sbi);
                if (err)
                        goto exit;
        }
@@ -1400,7 +1400,7 @@ int main(int argc, char **argv)
        erofs_iput(root);
        root = NULL;
 
-       err = erofs_writesb(&sbi, sb_bh, &nblocks);
+       err = erofs_writesb(&g_sbi, sb_bh, &nblocks);
        if (err)
                goto exit;
 
@@ -1409,10 +1409,10 @@ int main(int argc, char **argv)
        if (err)
                goto exit;
 
-       err = erofs_dev_resize(&sbi, nblocks);
+       err = erofs_dev_resize(&g_sbi, nblocks);
 
-       if (!err && erofs_sb_has_sb_chksum(&sbi)) {
-               err = erofs_enable_sb_chksum(&sbi, &crc);
+       if (!err && erofs_sb_has_sb_chksum(&g_sbi)) {
+               err = erofs_enable_sb_chksum(&g_sbi, &crc);
                if (!err)
                        erofs_info("superblock checksum 0x%08x written", crc);
        }
@@ -1424,7 +1424,7 @@ exit:
        blklst = erofs_blocklist_close();
        if (blklst)
                fclose(blklst);
-       erofs_dev_close(&sbi);
+       erofs_dev_close(&g_sbi);
        erofs_cleanup_compress_hints();
        erofs_cleanup_exclude_rules();
        if (cfg.c_chunkbits)
-- 
2.39.3


Reply via email to