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. > For non-512 byte sector size of backing device, it is needed as > I described above. If the backing device sector size is smaller than that of the loop device you should not allow direct I/O as you will be switching forth and back ue to the IO patterns all the time. -- 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/