[Samba] Direct I/O

Jeremy Allison jra at samba.org
Mon Jan 24 18:43:11 UTC 2022

On Mon, Jan 24, 2022 at 07:21:05PM +0100, Ralph Boehme wrote:
>On 1/24/22 18:39, Jeremy Allison via samba wrote:
>>No, we don't currently use O_DIRECT on Linux.
>>It doesn't match to SMB2+ semantics.
>I think it does (SMB2_WRITEFLAG_WRITE_UNBUFFERED), but we don't yet 
>implement it correctly. We check the flag and basically skip an 
>fsync() done in some cases, but we don't pass it to the OS. I guess 
>the problem is that in SMB the unbuffered is requested per *write* 
>whereas we can only request unbuffered IO per *handle* with O_DIRECT. 
>But I may be missing something.

Oh, good catch. I missed that flag. However I think there's another
missmatch. O_DIRECT has alignment restrictions on where the
IO can be performed. I think it mandates 512 byte boundaries.

More information about the samba mailing list