As mentioned in [PATCH 1/3] "block, fs: reliably communicate bdev end-of-life", historically we have waited for filesystem specific heuristics to attempt to guess when a block device is gone. Sometimes this works, but in other cases the system can hang waiting for the fs to trigger its shutdown protocol. Now with DAX we need new actions, like unmapping all inodes, to be taken upon a shutdown event. Those actions need to be taken whether the shutdown event comes from the block device being torn down, or some other file system specific event. For now, the approach taken in the following patches only affects xfs and block drivers that are converted to use del_gendisk_queue(). We can add more filesystems and driver support over time. Note that 'bdi_gone' was chosen over 'shutdown' so as not to be confused with generic_shutdown_super() --- Dan Williams (3): block, fs: reliably communicate bdev end-of-life xfs: handle shutdown notifications writeback: fix false positive WARN in __mark_inode_dirty block/genhd.c | 87 +++++++++++++++++++++++++++++++++++------- drivers/block/brd.c | 3 - drivers/nvdimm/pmem.c | 3 - drivers/s390/block/dcssblk.c | 6 +-- fs/block_dev.c | 79 +++++++++++++++++++++++++++++++++----- fs/xfs/xfs_super.c | 9 ++++ include/linux/fs.h | 4 ++ include/linux/genhd.h | 1 mm/backing-dev.c | 7 +++ 9 files changed, 166 insertions(+), 33 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html