[ adding Matthew, Christoph, and Tony ] On Wed, Apr 4, 2018 at 4:57 PM, Nicholas Piggin <npig...@gmail.com> wrote: > On Thu, 5 Apr 2018 09:19:42 +1000 > Balbir Singh <bsinghar...@gmail.com> wrote: > >> The pmem infrastructure uses memcpy_mcsafe in the pmem >> layer so as to convert machine check excpetions into >> a return value on failure in case a machine check >> exception is encoutered during the memcpy. >> >> This patch largely borrows from the copyuser_power7 >> logic and does not add the VMX optimizations, largely >> to keep the patch simple. If needed those optimizations >> can be folded in. > > So memcpy_mcsafe doesn't return number of bytes copied? > Huh, well that makes it simple.
Well, not in current kernels, but we need to add that support or remove the direct call to copy_to_iter() in fs/dax.c. I'm looking right now to add "bytes remaining" support to the x86 memcpy_mcsafe(), but for copy_to_user we also need to handle bytes remaining for write faults. That fix is hopefully something that can land in an early 4.17-rc, but it won't be ready for -rc1.