Whamcloud - gitweb
LUDOC-293 protocol: Merge all recent patches
[doc/protocol.git] / ldlm_gl_callback.txt
diff --git a/ldlm_gl_callback.txt b/ldlm_gl_callback.txt
new file mode 100644 (file)
index 0000000..75bf921
--- /dev/null
@@ -0,0 +1,39 @@
+Command 104: LDLM_GL_CALLBACK
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+[[ldlm-gl-callback-rpc]]
+
+An RPC that assists with getting a lock back from an entity that has
+it.
+
+.LDLM_GL_CALLBACK Generic Packet Structure
+image::ldlm-gl-callback-generic.png["LDLM_GL_CALLBACK Generic Packet Structure",height=100]
+
+//////////////////////////////////////////////////////////////////////
+The ldlm-gl-callback-generic.png diagram resemgles this text
+art:
+
+       LDLM_GL_CALLBACK:
+      --request---------------------
+      | ptlrpc_body | ldlm_request |
+      ------------------------------
+      --reply------------------
+      | ptlrpc_body | ost_lvb |
+      -------------------------
+//////////////////////////////////////////////////////////////////////
+
+The request RPC resembles the simplest LDLM_ENQUEUE RPC, but only
+identifies the relevant resource that the destination entity already
+had a lock on. It asks the recipient to flush its dirty write cache,
+and notify the requester of size and time attributes once that is
+done.  The reply updates the attributes on the requester.
+
+'ptlrpc_body'::
+RPC descriptor.
+
+'ldlm_request'::
+Description of the lock being requested. Which resource is the target,
+what lock is current, and what lock desired.
+
+'ost_lvb'::
+Attribute data associated with a resource on an OST.
+