------- Comment From [email protected] 2017-07-18 01:04 EDT------- I believe the following two commits associated with "writeback" code are required for fixing this bug,
commit 03e262798884b0a5f948b17433afd80606cb3497 Author: Jan Kara <[email protected]> Date: Thu Mar 23 01:36:53 2017 +0100 block: Fix bdi assignment to bdev inode when racing with disk delete When disk->fops->open() in __blkdev_get() returns -ERESTARTSYS, we restart the process of opening the block device. However we forget to switch bdev->bd_bdi back to noop_backing_dev_info and as a result bdev inode will be pointing to a stale bdi. Fix the problem by setting bdev->bd_bdi later when __blkdev_get() is already guaranteed to succeed. commit f759741d9d913eb57784a94b9bca78b376fc26a9 Author: Jan Kara <[email protected]> Date: Thu Mar 23 01:37:00 2017 +0100 block: Fix oops in locked_inode_to_wb_and_lock_list() When block device is closed, we call inode_detach_wb() in __blkdev_put() which sets inode->i_wb to NULL. That is contrary to expectations that inode->i_wb stays valid once set during the whole inode's lifetime and leads to oops in wb_get() in locked_inode_to_wb_and_lock_list() because inode_to_wb() returned NULL. The reason why we called inode_detach_wb() is not valid anymore though. BDI is guaranteed to stay along until we call bdi_put() from bdev_evict_inode() so we can postpone calling inode_detach_wb() to that moment. Also add a warning to catch if someone uses inode_detach_wb() in a dangerous way. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1702998 Title: Ubuntu 17.04: Guest crashed @writeback_sb_inodes+0x310/0x590 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu-power-systems/+bug/1702998/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
