writeback: don't warn on an unregistered BDI in __mark_inode_dirty
authorChristoph Hellwig <hch@lst.de>
Mon, 28 Sep 2020 12:26:13 +0000 (14:26 +0200)
committerJan Kara <jack@suse.cz>
Wed, 16 Dec 2020 10:56:02 +0000 (11:56 +0100)
BDIs get unregistered during device removal, and this WARN can be
trivially triggered by hot-removing a NVMe device while running fsx
It is otherwise harmless as we still hold a BDI reference, and the
writeback has been shut down already.

Link: https://lore.kernel.org/r/20200928122613.434820-1-hch@lst.de
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jan Kara <jack@suse.cz>
fs/fs-writeback.c

index e6005c7..acfb558 100644 (file)
@@ -2321,10 +2321,6 @@ void __mark_inode_dirty(struct inode *inode, int flags)
 
                        wb = locked_inode_to_wb_and_lock_list(inode);
 
-                       WARN((wb->bdi->capabilities & BDI_CAP_WRITEBACK) &&
-                            !test_bit(WB_registered, &wb->state),
-                            "bdi-%s not registered\n", bdi_dev_name(wb->bdi));
-
                        inode->dirtied_when = jiffies;
                        if (dirtytime)
                                inode->dirtied_time_when = jiffies;