RPC 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 Request Packet Structure image::ldlm-gl-callback-request.png["LDLM_GL_CALLBACK Request Packet Structure",height=50] ////////////////////////////////////////////////////////////////////// The ldlm-gl-callback-request.png diagram resembles this text art: LDLM_GL_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 asks the recipient to flush its dirty write cache, and notify the requester of size and time attributes once that is done. '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_GL_CALLBACK Reply Packet Structure image::ldlm-gl-callback-reply.png["LDLM_GL_CALLBACK Reply Packet Structure",height=50] ////////////////////////////////////////////////////////////////////// The ldlm-gl-callback-reply.png diagram resembles this text art: LDLM_GL_CALLBACK: --reply------------------ | ptlrpc_body | ost_lvb | ------------------------- ////////////////////////////////////////////////////////////////////// The reply updates the attributes on the requester. 'ptlrpc_body':: RPC descriptor. <> 'ost_lvb':: Attribute data associated with a resource on an OST. <>