erofs: allow empty device tags in flatdev mode
authorJingbo Xu <jefflexu@linux.alibaba.com>
Fri, 15 Sep 2023 08:27:28 +0000 (16:27 +0800)
committerGao Xiang <hsiangkao@linux.alibaba.com>
Tue, 19 Sep 2023 00:39:02 +0000 (08:39 +0800)
Device tags aren't actually required in flatdev mode, thus fix mount
failure due to empty device tags in flatdev mode.

Signed-off-by: Jingbo Xu <jefflexu@linux.alibaba.com>
Fixes: 8b465fecc35a ("erofs: support flattened block device for multi-blob images")
Reviewed-by: Jia Zhu <zhujia.zj@bytedance.com>
Reviewed-by: Gao Xiang <hsiangkao@linux.alibaba.com>
Link: https://lore.kernel.org/r/20230915082728.56588-1-jefflexu@linux.alibaba.com
Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
fs/erofs/super.c

index 44a24d5..3700af9 100644 (file)
@@ -235,7 +235,7 @@ static int erofs_init_device(struct erofs_buf *buf, struct super_block *sb,
                return PTR_ERR(ptr);
        dis = ptr + erofs_blkoff(sb, *pos);
 
-       if (!dif->path) {
+       if (!sbi->devs->flatdev && !dif->path) {
                if (!dis->tag[0]) {
                        erofs_err(sb, "empty device tag @ pos %llu", *pos);
                        return -EINVAL;