--- /dev/null
+Command 104: LDLM_BL_CALLBACK
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+[[ldlm-bl-callback-rpc]]
+
+An RPC that assists with getting a lock back from an entity that has
+it.
+
+.LDLM_BL_CALLBACK Generic Packet Structure
+image::ldlm-bl-callback-generic.png["LDLM_BL_CALLBACK Generic Packet Structure",height=100]
+
+//////////////////////////////////////////////////////////////////////
+The ldlm-bl-callback-generic.png diagram resembles this text
+art:
+
+ LDLM_BL_CALLBACK:
+ --request---------------------
+ | ptlrpc_body | ldlm_request |
+ ------------------------------
+ --reply--------
+ | ptlrpc_body |
+ ---------------
+//////////////////////////////////////////////////////////////////////
+
+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 notifies the recipient that the lock should be
+returned once and dirty write data has been flushed. The Reply is
+just an acknowledgment of receipt, and doesn't carry any further
+information about the lock or the resource.
+
+'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.
+