Hi folks, I was recently investigating Samba's handling of OpLock breaks during SMB2 compound requests and noted this curious anomaly with respect to W2K08.
I wrote a small smbtorture test case and ran it against W2K08 to establish what should happen. Samba was failing the test and I have suggested a fix for that. However, I got my test case slightly different to what was in the customer-derived capture that got me looking at this. Attached are two packet captures that show the difference. In one, w2k08-compound-break-success-1.pcap, the correct behavior seems to occur. We see a STATUS_PENDING response from W2K08 and then the OpLock break sequence. In the second case, w2k08-compound-break-reset-2.pcap we see the STATUS_PENDING issued, and then we see a RST from the W2K08 system. The only difference seems to be that in the successful case I used OPEN_EXISTING (Disposition OPEN) while in the case that fails, I used OPEN_ALWAYS (OPEN_IF). Can anyone comment on this? I haven't checked W2K12 yet to see how it behaves. -- Regards, Richard Sharpe (何以解憂?唯有杜康。--曹操)
w2k08-compound-break-success-1.pcap
Description: Binary data
w2k08-compound-break-reset-2.pcap
Description: Binary data
_______________________________________________ cifs-protocol mailing list [email protected] https://lists.samba.org/mailman/listinfo/cifs-protocol
