Re: [PATCH] writeback: add warning messages for not registered bdi

From: Jan Kara
Date: Tue Dec 22 2020 - 13:00:03 EST


On Thu 17-12-20 19:28:01, Yanjun Zhang wrote:
> The device name is only printed for the warning case, that bdi is not
> registered detected by the function __mark_inode_dirty. Besides, the
> device name returned by bdi_dev_name may be "(unknown)" in some cases.
>
> This patch add printed messages about the inode and super block. Once
> trigging this warning, we could make more direct analysis.
>
> Signed-off-by: Yanjun Zhang <zhang.yanjuna@xxxxxxx>

Thanks for the patch but I've just sent a patch to remove this warning from
the kernel a few days ago to Linus because it could result in false
positive... So your patch is not needed anymore.

Honza

> ---
> fs/fs-writeback.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
> index e6005c78b..825160cf4 100644
> --- a/fs/fs-writeback.c
> +++ b/fs/fs-writeback.c
> @@ -2323,7 +2323,8 @@ void __mark_inode_dirty(struct inode *inode, int flags)
>
> WARN((wb->bdi->capabilities & BDI_CAP_WRITEBACK) &&
> !test_bit(WB_registered, &wb->state),
> - "bdi-%s not registered\n", bdi_dev_name(wb->bdi));
> + "bdi-%s not registered, dirtied inode %lu on %s\n",
> + bdi_dev_name(wb->bdi), inode->i_ino, sb->s_id);
>
> inode->dirtied_when = jiffies;
> if (dirtytime)
> --
> 2.17.1
>
--
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR