[Samba] Direct I/O

Ralph Boehme slow at samba.org
Mon Jan 24 18:57:21 UTC 2022


On 1/24/22 19:43, Jeremy Allison wrote:
> 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.

Iirc Windows has similar requirements detailed in MS-FSA.

-slow

-- 
Ralph Boehme, Samba Team                 https://samba.org/
SerNet Samba Team Lead      https://sernet.de/en/team-samba
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <http://lists.samba.org/pipermail/samba/attachments/20220124/b429a6bb/OpenPGP_signature.sig>


More information about the samba mailing list