On 3/5/24 6:33 AM, Tong Tiangen wrote: > The commit f1982740f5e7 ("iov_iter: Convert iterate*() to inline funcs") > leads to deadloop in generic_perform_write()[1], due to return value of > copy_page_from_iter_atomic() changed from non-zero value to zero. > > The code logic of the I/O performance-critical path of the iov_iter is > mixed with machine check[2], actually, there's no need to complicate it, > a more appropriate method is to get the error as early as possible in > the coredump process instead of during the I/O process. In addition, > the iov_iter performance-critical path can have clean logic. Looks good to me, and I'm a big fan of getting rid of the copy_mc bits on the generic iov iterator side: Reviewed-by: Jens Axboe <axboe@xxxxxxxxx> -- Jens Axboe