On Sun, Nov 6, 2016 at 6:04 PM, Alan Bateman <alan.bate...@oracle.com> wrote:
> On 06/11/2016 15:51, Lu, Yingqi wrote: > > Another approach might be use ioctl to get the block size and use that as > the alignment value. I think ioctl is available on UNIX based OSes (please > chime in if I miss any OS here) and has a similar call for Windows named > DeviceIoControl. The request code of ioctl is different from OS to OS, but > we could address that in the native code. > > A possible approach (I think I mentioned this in one of the early mails) > is to have FileStore expose the block size that can be use to align and > size the buffer. > > -Alan > And if an OS or a file system driver does not provide information about block size, one still could poll. E.g. on Linux, attempt to read() at ever increasing alignments until one does not get EINVAL anymore. Thomas