Re: [PATCH 1/1] fs/erofs: silence erofs_probe()
在 2022年8月1日星期一,Heinrich Schuchardt 写道: > fs_set_blk_dev() probes all file-systems until it finds one that matches > the volume. We do not expect any console output for non-matching > file-systems. > > Convert error messages in erofs_read_superblock() to debug output. > > Fixes: 830613f8f5bb ("fs/erofs: add erofs filesystem support") > Signed-off-by: Heinrich Schuchardt > Reviewed-by: Simon Glass > --- > v2: > keep erofs_err() for block size mismatch > --- > fs/erofs/super.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) Looks good to me. Reviewed-by: Huang Jianan Thanks, Jianan > > diff --git a/fs/erofs/super.c b/fs/erofs/super.c > index 4cca322b9e..8277d9b53f 100644 > --- a/fs/erofs/super.c > +++ b/fs/erofs/super.c > @@ -65,14 +65,14 @@ int erofs_read_superblock(void) > > ret = erofs_blk_read(data, 0, 1); > if (ret < 0) { > - erofs_err("cannot read erofs superblock: %d", ret); > + erofs_dbg("cannot read erofs superblock: %d", ret); > return -EIO; > } > dsb = (struct erofs_super_block *)(data + EROFS_SUPER_OFFSET); > > ret = -EINVAL; > if (le32_to_cpu(dsb->magic) != EROFS_SUPER_MAGIC_V1) { > - erofs_err("cannot find valid erofs superblock"); > + erofs_dbg("cannot find valid erofs superblock"); > return ret; > } > > -- > 2.36.1 > >
Re: [PATCH 1/1] fs/erofs: silence erofs_probe()
On Sun, Jul 31, 2022 at 10:53:52PM +0200, Heinrich Schuchardt wrote: > > > On 7/31/22 20:41, Simon Glass wrote: > > On Sun, 31 Jul 2022 at 03:10, Heinrich Schuchardt > > wrote: > > > > > > fs_set_blk_dev() probes all file-systems until it finds one that matches > > > the volume. We do not expect any console output for non-matching > > > file-systems. > > > > > > Convert error messages in erofs_read_superblock() to debug output. > > > > > > Fixes: 830613f8f5bb ("fs/erofs: add erofs filesystem support") > > > Signed-off-by: Heinrich Schuchardt > > > --- > > > fs/erofs/super.c | 6 +++--- > > > 1 file changed, 3 insertions(+), 3 deletions(-) > > > > Reviewed-by: Simon Glass > > > > > > > > diff --git a/fs/erofs/super.c b/fs/erofs/super.c > > > index 4cca322b9e..095754dc28 100644 > > > --- a/fs/erofs/super.c > > > +++ b/fs/erofs/super.c > > > @@ -65,14 +65,14 @@ int erofs_read_superblock(void) > > > > > > ret = erofs_blk_read(data, 0, 1); > > > if (ret < 0) { > > > - erofs_err("cannot read erofs superblock: %d", ret); > > > + erofs_dbg("cannot read erofs superblock: %d", ret); > > > return -EIO; > > > } > > > dsb = (struct erofs_super_block *)(data + EROFS_SUPER_OFFSET); > > > > > > ret = -EINVAL; > > > if (le32_to_cpu(dsb->magic) != EROFS_SUPER_MAGIC_V1) { > > > - erofs_err("cannot find valid erofs superblock"); > > > + erofs_dbg("cannot find valid erofs superblock"); > > > return ret; > > > } > > > > > @@ -81,7 +81,7 @@ int erofs_read_superblock(void) > > > blkszbits = dsb->blkszbits; > > > /* 9(512 bytes) + LOG_SECTORS_PER_BLOCK == LOG_BLOCK_SIZE */ > > > if (blkszbits != LOG_BLOCK_SIZE) { > > > - erofs_err("blksize %u isn't supported on this platform", > > > + erofs_dbg("blksize %u isn't supported on this platform", > > >1 << blkszbits); > > > > Does this message appear in normal scanning, or is it a genuine error? > > The erofs driver on Linux only supports LOG_BLOCK_SIZE == 12. So if we see > this message we don't have a valid erofs file system. > > @linux-erofs: > > The Linux driver requires EROFS_BLKSIZ == PAGE_SIZE == 4096. > The page size on arm64 can be 4 KiB, 16 KiB, or 64 KiB. > The page size on amd64 can be 4 KiB, 2 MiB or 4 MiB. > Requiring EROFS_BLKSIZ == PAGE_SIZE is obviously a restriction that should > be lifted. Yeah, EROFS doesn't support EROFS_BLKSIZ != PAGE_SIZE explicitly for now, please help error out this message. Thanks! Thanks, Gao Xiang > > Best regards > > Heinrich
Re: [PATCH 1/1] fs/erofs: silence erofs_probe()
On 7/31/22 20:41, Simon Glass wrote: On Sun, 31 Jul 2022 at 03:10, Heinrich Schuchardt wrote: fs_set_blk_dev() probes all file-systems until it finds one that matches the volume. We do not expect any console output for non-matching file-systems. Convert error messages in erofs_read_superblock() to debug output. Fixes: 830613f8f5bb ("fs/erofs: add erofs filesystem support") Signed-off-by: Heinrich Schuchardt --- fs/erofs/super.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) Reviewed-by: Simon Glass diff --git a/fs/erofs/super.c b/fs/erofs/super.c index 4cca322b9e..095754dc28 100644 --- a/fs/erofs/super.c +++ b/fs/erofs/super.c @@ -65,14 +65,14 @@ int erofs_read_superblock(void) ret = erofs_blk_read(data, 0, 1); if (ret < 0) { - erofs_err("cannot read erofs superblock: %d", ret); + erofs_dbg("cannot read erofs superblock: %d", ret); return -EIO; } dsb = (struct erofs_super_block *)(data + EROFS_SUPER_OFFSET); ret = -EINVAL; if (le32_to_cpu(dsb->magic) != EROFS_SUPER_MAGIC_V1) { - erofs_err("cannot find valid erofs superblock"); + erofs_dbg("cannot find valid erofs superblock"); return ret; } @@ -81,7 +81,7 @@ int erofs_read_superblock(void) blkszbits = dsb->blkszbits; /* 9(512 bytes) + LOG_SECTORS_PER_BLOCK == LOG_BLOCK_SIZE */ if (blkszbits != LOG_BLOCK_SIZE) { - erofs_err("blksize %u isn't supported on this platform", + erofs_dbg("blksize %u isn't supported on this platform", 1 << blkszbits); Does this message appear in normal scanning, or is it a genuine error? The erofs driver on Linux only supports LOG_BLOCK_SIZE == 12. So if we see this message we don't have a valid erofs file system. @linux-erofs: The Linux driver requires EROFS_BLKSIZ == PAGE_SIZE == 4096. The page size on arm64 can be 4 KiB, 16 KiB, or 64 KiB. The page size on amd64 can be 4 KiB, 2 MiB or 4 MiB. Requiring EROFS_BLKSIZ == PAGE_SIZE is obviously a restriction that should be lifted. Best regards Heinrich return ret; } -- 2.36.1
Re: [PATCH 1/1] fs/erofs: silence erofs_probe()
On Sun, 31 Jul 2022 at 03:10, Heinrich Schuchardt wrote: > > fs_set_blk_dev() probes all file-systems until it finds one that matches > the volume. We do not expect any console output for non-matching > file-systems. > > Convert error messages in erofs_read_superblock() to debug output. > > Fixes: 830613f8f5bb ("fs/erofs: add erofs filesystem support") > Signed-off-by: Heinrich Schuchardt > --- > fs/erofs/super.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) Reviewed-by: Simon Glass > > diff --git a/fs/erofs/super.c b/fs/erofs/super.c > index 4cca322b9e..095754dc28 100644 > --- a/fs/erofs/super.c > +++ b/fs/erofs/super.c > @@ -65,14 +65,14 @@ int erofs_read_superblock(void) > > ret = erofs_blk_read(data, 0, 1); > if (ret < 0) { > - erofs_err("cannot read erofs superblock: %d", ret); > + erofs_dbg("cannot read erofs superblock: %d", ret); > return -EIO; > } > dsb = (struct erofs_super_block *)(data + EROFS_SUPER_OFFSET); > > ret = -EINVAL; > if (le32_to_cpu(dsb->magic) != EROFS_SUPER_MAGIC_V1) { > - erofs_err("cannot find valid erofs superblock"); > + erofs_dbg("cannot find valid erofs superblock"); > return ret; > } > > @@ -81,7 +81,7 @@ int erofs_read_superblock(void) > blkszbits = dsb->blkszbits; > /* 9(512 bytes) + LOG_SECTORS_PER_BLOCK == LOG_BLOCK_SIZE */ > if (blkszbits != LOG_BLOCK_SIZE) { > - erofs_err("blksize %u isn't supported on this platform", > + erofs_dbg("blksize %u isn't supported on this platform", > 1 << blkszbits); Does this message appear in normal scanning, or is it a genuine error? > return ret; > } > -- > 2.36.1 >
Re: [PATCH 1/1] fs/erofs: silence erofs_probe()
在 2022/7/31 17:10, Heinrich Schuchardt 写道: fs_set_blk_dev() probes all file-systems until it finds one that matches the volume. We do not expect any console output for non-matching file-systems. Convert error messages in erofs_read_superblock() to debug output. Fixes: 830613f8f5bb ("fs/erofs: add erofs filesystem support") Signed-off-by: Heinrich Schuchardt --- fs/erofs/super.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fs/erofs/super.c b/fs/erofs/super.c index 4cca322b9e..095754dc28 100644 --- a/fs/erofs/super.c +++ b/fs/erofs/super.c @@ -65,14 +65,14 @@ int erofs_read_superblock(void) ret = erofs_blk_read(data, 0, 1); if (ret < 0) { - erofs_err("cannot read erofs superblock: %d", ret); + erofs_dbg("cannot read erofs superblock: %d", ret); return -EIO; } dsb = (struct erofs_super_block *)(data + EROFS_SUPER_OFFSET); ret = -EINVAL; if (le32_to_cpu(dsb->magic) != EROFS_SUPER_MAGIC_V1) { - erofs_err("cannot find valid erofs superblock"); + erofs_dbg("cannot find valid erofs superblock"); return ret; } @@ -81,7 +81,7 @@ int erofs_read_superblock(void) blkszbits = dsb->blkszbits; /* 9(512 bytes) + LOG_SECTORS_PER_BLOCK == LOG_BLOCK_SIZE */ if (blkszbits != LOG_BLOCK_SIZE) { - erofs_err("blksize %u isn't supported on this platform", + erofs_dbg("blksize %u isn't supported on this platform", 1 << blkszbits); return ret; } Reviewed-by: Huang Jianan Thanks, Jianan