On Fri, May 31, 2013 at 07:53:29AM -0600, Chris Mason wrote: > Quoting Josef Bacik (2013-05-31 09:29:07) > > On Fri, May 31, 2013 at 12:24:30AM -0600, Zach Brown wrote: > > > > Changing O_DIRECT in flight has always been a deep dark corner case, and > > > > crc errors are the expected result. Have you found anyone doing this in > > > > real life? > > > > > > Agreed; and no, I haven't heard of people accidentally modifying stable > > > pages. > > > > > > > Windows does this, it also will send down the same page for different offsets > > which is why we have that special check in check_direct_IO for reads because > > that would cause lots of csum errors too. I tried to fix the modified in flight > > problem by checking the csums of the pages in the io completion handler and > > re-submitting the IO if the pages had changed, but this of course dramatically > > reduced performance for all of those well behaved O_DIRECT applications, so in > > the end I just set nodatasum for that vm image and carried on. I'm not sure > > what the solution is for this problem. Thanks, > > Ugh, I forgot about the windows case. KVM should really be copying the > pages for sectors where IO is already in flight. > > We could do the copies ourselves: mount -o dio_copies > That would work for us, but what about other people that rely on stable pages, like *fs on iscsi and such? It might be good to have a generic mount option that the vfs notices and makes the copying happen before it gets to the file system and that way we're all save and don't have a different solution/mount option for each fs. Thanks, Josef -- 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