Re: WARNING: filesystem loop0 was created with 512 inodes, the real maximum is 511, mounting anyway

From: Dmitry Vyukov
Date: Mon Sep 28 2020 - 04:29:23 EST


On Mon, Sep 28, 2020 at 10:23 AM Tigran Aivazian
<aivazian.tigran@xxxxxxxxx> wrote:
>
> Hello Dmitry,
>
> On Mon, 28 Sep 2020 at 08:51, Dmitry Vyukov <dvyukov@xxxxxxxxxx> wrote:
> > On Mon, Sep 28, 2020 at 9:48 AM syzbot
> > <syzbot+54b10a5da9e59f1ed979@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
> > > BFS-fs: bfs_fill_super(): WARNING: filesystem loop0 was created with 512 inodes, the real maximum is 511, mounting anyway
> >
> > This looks like a BFS issue. +BFS maintainers.
>
> No, this is not an issue. In the latest change to BFS I added the
> following comment to the header fs/bfs/bfs.h, which explains it:
>
> /* In theory BFS supports up to 512 inodes, numbered from 2 (for /) up
> to 513 inclusive.
> In actual fact, attempting to create the 512th inode (i.e. inode
> No. 513 or file No. 511)
> will fail with ENOSPC in bfs_add_entry(): the root directory cannot
> contain so many entries, counting '..'.
> So, mkfs.bfs(8) should really limit its -N option to 511 and not
> 512. For now, we just print a warning
> if a filesystem is mounted with such "impossible to fill up" number
> of inodes */

Hi Tigran,

There are rules for use of "WARNING" in output required to support
kernel testing:
https://github.com/torvalds/linux/blob/master/include/asm-generic/bug.h#L67-L80
This seems to be triggerable by exteranal inputs and breaks these rules.