TODO.multi-channel: some ideas for oplock break retry
authorMichael Adam <obnox@samba.org>
Fri, 26 Aug 2016 17:07:26 +0000 (19:07 +0200)
committerStefan Metzmacher <metze@samba.org>
Mon, 10 Feb 2020 14:09:17 +0000 (15:09 +0100)
TODO.multi-channel

index 856426818dcddfae18d83d92262c1e716a12e502..ac388c2fd34dd85374ea500b156a4020f525f78c 100644 (file)
@@ -79,6 +79,26 @@ TODOs for multi-channel
     if remembered one is not acknowledged, consider
     channel broken and resend break request on other channel
 
+  ===========================================
+
+  - remember sent and not acked oplock break requests
+    in a list (on the smbXsrv_connection or so)
+  - for each such request, start a timer when putting
+    it into the list
+  - develop an arithmetic and a mechanism using the SIOCOUTQ
+    ioctl (checked at every I/O on the interface)
+    to detect when a packet has really left the host.
+  - if the algo says that the packet has been sent,
+    disable timer and remove it from the list.
+    ==> really?
+        what about 'left the host' vs. 'ack has been received'?
+  - if oplock break reply arrives, disable timer and remove
+    pkt from list.
+  - if timer expires, consider channel broken and
+    resend break on other channel
+
+  ===========================================
+
 
 - interface characteristics:
   --------------------------