On Wed, Feb 16, 2022 at 07:37:22AM -0800, Keith Busch wrote: > On Wed, Feb 16, 2022 at 04:09:01PM +0100, Christoph Hellwig wrote: > > - fsync_bdev(disk->part0); > > + /* > > + * If this is not a surprise removal see if there is a file system > > + * mounted on this device and sync it (although this won't work for > > + * partitions). For surprise removals that have already marked the > > + * disk dead skip this call as no I/O is possible anyway. > > + */ > > + if (!test_bit(GD_DEAD, &disk->state)) > > + fsync_bdev(disk->part0); > > __invalidate_device(disk->part0, true); > > It used to be that any dirty pages would attempt to write, and get an > error on a surprise removal. Now that you're skipping the fsync_bdev(), > is something else taking responsibility to error those pages? truncate_inode_pages when closing the device.