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