On Tue, Dec 01, 2015 at 03:58:46PM -0800, Dan Williams wrote: > Force a filesystem shutdown when the backing device is known to be dead. > I.e. blk_queue_enter() permanently returns -ENODEV. > > Cc: xfs@xxxxxxxxxxx > Suggested-by: Dave Chinner <david@xxxxxxxxxxxxx> > Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> > --- > fs/block_dev.c | 3 ++- > fs/xfs/xfs_super.c | 9 +++++++++ > include/linux/fs.h | 2 ++ > 3 files changed, 13 insertions(+), 1 deletion(-) > > diff --git a/fs/block_dev.c b/fs/block_dev.c > index 39989e990df9..dfe9a53a7c53 100644 > --- a/fs/block_dev.c > +++ b/fs/block_dev.c > @@ -1802,7 +1802,7 @@ int __invalidate_device(struct block_device *bdev, bool kill_dirty) > } > EXPORT_SYMBOL(__invalidate_device); > > -static void generic_bdi_gone(struct super_block *sb) > +void generic_bdi_gone(struct super_block *sb) > { > struct inode *inode, *_inode = NULL; > > @@ -1828,6 +1828,7 @@ static void generic_bdi_gone(struct super_block *sb) > spin_unlock(&sb->s_inode_list_lock); > iput(_inode); > } > +EXPORT_SYMBOL(generic_bdi_gone); > > void shutdown_partition(struct gendisk *disk, int partno) > { > diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c > index 36bd8825bfb0..63c36508e9db 100644 > --- a/fs/xfs/xfs_super.c > +++ b/fs/xfs/xfs_super.c > @@ -1618,6 +1618,14 @@ xfs_fs_free_cached_objects( > return xfs_reclaim_inodes_nr(XFS_M(sb), sc->nr_to_scan); > } > > +static void > +xfs_fs_bdi_gone( > + struct super_block *sb) > +{ > + xfs_force_shutdown(XFS_M(sb), SHUTDOWN_DEVICE_REQ); > + generic_bdi_gone(sb); > +} You haven't cc'd me or the XFS list on the other patches in this series, so I cannot comment as to whether this will work or not. As I've asked before, please do not do single patch CC's like this as it does not give the reviewer the context to be able to review the change, nor is it possible to *apply and test* the patch they are being asked to comment on. Please resend the series with complete CC's to the relevant lists. Sure, go ahead an CC individual people on certain patches, but you need to make sure the whole patch series hit each mailing list.... Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx -- 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