[PATCH] erofs-utils: mount: don't overwrite layer_index with -1 again
Gao Xiang
hsiangkao at linux.alibaba.com
Tue Oct 7 14:22:20 AEDT 2025
Initialize ocicfg only when nbdsrc.type changes to
EROFSNBD_SOURCE_OCI.
Fixes: 6a7cfdb9cd66 ("erofs-utils: oci: add support for indexing by layer digest")
Cc: Chengyu Zhu <hudsonzhu at tencent.com>
Signed-off-by: Gao Xiang <hsiangkao at linux.alibaba.com>
---
mount/main.c | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)
diff --git a/mount/main.c b/mount/main.c
index eb0dd01..e2443f8 100644
--- a/mount/main.c
+++ b/mount/main.c
@@ -83,10 +83,6 @@ static int erofsmount_parse_oci_option(const char *option)
char *p;
long idx;
- if (oci_cfg->layer_index == 0 && !oci_cfg->blob_digest &&
- !oci_cfg->platform && !oci_cfg->username && !oci_cfg->password)
- oci_cfg->layer_index = -1;
-
p = strstr(option, "oci.blob=");
if (p != NULL) {
p += strlen("oci.blob=");
@@ -147,10 +143,6 @@ static int erofsmount_parse_oci_option(const char *option)
}
}
}
-
- if (oci_cfg->platform || oci_cfg->username || oci_cfg->password ||
- oci_cfg->blob_digest || oci_cfg->layer_index >= 0)
- nbdsrc.type = EROFSNBD_SOURCE_OCI;
return 0;
}
#else
@@ -191,6 +183,11 @@ static long erofsmount_parse_flagopts(char *s, long flags, char **more)
*comma = '\0';
if (strncmp(s, "oci", 3) == 0) {
+ /* Initialize ocicfg here iff != EROFSNBD_SOURCE_OCI */
+ if (nbdsrc.type != EROFSNBD_SOURCE_OCI) {
+ nbdsrc.type = EROFSNBD_SOURCE_OCI;
+ nbdsrc.ocicfg.layer_index = -1;
+ }
err = erofsmount_parse_oci_option(s);
if (err < 0)
return err;
--
2.43.5
More information about the Linux-erofs
mailing list