On Wed, Jan 18, 2017 at 03:39:17PM -0500, Jeff Moyer wrote: > Jan Kara <jack@xxxxxxx> writes: > > > On Tue 17-01-17 15:14:21, Vishal Verma wrote: > >> Your note on the online repair does raise another tangentially related > >> topic. Currently, if there are badblocks, writes via the bio submission > >> path will clear the error (if the hardware is able to remap the bad > >> locations). However, if the filesystem is mounted eith DAX, even > >> non-mmap operations - read() and write() will go through the dax paths > >> (dax_do_io()). We haven't found a good/agreeable way to perform > >> error-clearing in this case. So currently, if a dax mounted filesystem > >> has badblocks, the only way to clear those badblocks is to mount it > >> without DAX, and overwrite/zero the bad locations. This is a pretty > >> terrible user experience, and I'm hoping this can be solved in a better > >> way. > > > > Please remind me, what is the problem with DAX code doing necessary work to > > clear the error when it gets EIO from memcpy on write? > > You won't get an MCE for a store; only loads generate them. > > Won't fallocate FL_ZERO_RANGE clear bad blocks when mounted with -o dax? Not necessarily; XFS usually implements this by punching out the range and then reallocating it as unwritten blocks. --D > > Cheers, > Jeff > -- > To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- 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