[cifs-protocol] Getting SMB2 windows client to respond to notify event.

Peter VAN OUDENAREN petervanoudenaren at gmail.com
Tue Jan 17 11:13:06 UTC 2017


I'm working on a server instance that requires Windows explorer and OSX  to
respond to notify events. The implementation works with OSX, minus a small
delay but not Windows.

I've picked over the packet flow between my implementation and Windows10
carefully versus the flow between Samba and Win10, and I can see only
slight differences. The packets I send for async notify responses with
STATUS pending, cancels and completion look correct.

The symptom is that Windows receives my properly formatted async notify
response packet but does not respond with any listing requests or re-arming
of the notify, I only see TCP keepalives. I think Windows may be processing
the messages because F5 refresh seems more likely to trigger activity after
receipt of a notify message.

I don't have oplocks enabled but it doesn't seem to change the behavior if
I grant oplocks.

I also noticed one peculiarity, Windows doesn't request a batch oplock on
the root of the share like it does against Samba but it does request them
in lower folders.

Some differences I see with the Samba packet flow are that I don't queue
changes and never respond synchronously so  "ls >a1.txt" will generate only
one async completion message and not respond synchronously with file
modified immediately afterwards.

That shouldn't matter with delete but in the process of writing this email
I convince myself to try leaving inotify armed and queuing events in
anticipation of a request next, to see if that helps.

Any suggestions ?


Peter
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.samba.org/pipermail/cifs-protocol/attachments/20170117/0212f376/attachment.html>


More information about the cifs-protocol mailing list