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> --- 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