On Sun, Aug 09, 2015 at 10:27:14AM -0400, Ming Lei wrote: > On Sun, Aug 9, 2015 at 9:44 AM, Christoph Hellwig <h...@infradead.org> wrote: > > On Sun, Aug 09, 2015 at 09:04:32AM -0400, Ming Lei wrote: > >> Now the logical block size of loop is 512byte, but the sector size of > >> backing device may be 4K, so we can't do 512 byte algined direct > >> I/O to the filesystem in this situation. > >> > >> With runtime switch to buffered I/O we can fix this problem, but > >> most of times it won't fall in this case. > > > > The right way to handle this case is to not allow direct I/O at all, > > you'll be constantly switching between direct and buffered I/O > > otherwise, which is a bad idea. > > In theory we should not allow dio for this case, but in reality, > as Dave Chinner mentioned, all buffered I/O and normal dio > are page aligned, so we can make most of sane applications > benefited from this patch, and for few insane applications, > frequent swich between buffered I/O and direct I/O shouldn't > be very bad too since draining dio is just like batched sync I/O.
If Christoph thinks we should not allow this case, then go with what Christoph says. Cheers, Dave. -- Dave Chinner da...@fromorbit.com -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/