RPC 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 Request Packet Structure image::ldlm-bl-callback-request.png["LDLM_BL_CALLBACK Request Packet Structure",height=50] ////////////////////////////////////////////////////////////////////// The ldlm-bl-callback-request.png diagram resembles this text art: LDLM_BL_CALLBACK: --request--------------------- | ptlrpc_body | ldlm_request | ------------------------------ ////////////////////////////////////////////////////////////////////// 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. '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. <> .LDLM_BL_CALLBACK Reply Packet Structure image::ldlm-bl-callback-reply.png["LDLM_BL_CALLBACK Reply Packet Structure",height=50] ////////////////////////////////////////////////////////////////////// The ldlm-bl-callback-reply.png diagram resembles this text art: LDLM_BL_CALLBACK: --reply-------- | ptlrpc_body | --------------- ////////////////////////////////////////////////////////////////////// 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. <>