/** * nlm4_Lock_Message: Lock Message * * @param parg [IN] * @param pexportlist [IN] * @param pcontextp [IN] * @param pclient [INOUT] * @param ht [INOUT] * @param preq [IN] * @param pres [OUT] * */ int nlm4_Lock_Message(nfs_arg_t * parg /* IN */ , exportlist_t * pexport /* IN */ , fsal_op_context_t * pcontext /* IN */ , cache_inode_client_t * pclient /* INOUT */ , hash_table_t * ht /* INOUT */ , struct svc_req *preq /* IN */ , nfs_res_t * pres /* OUT */ ) { state_nlm_client_t * nlm_client; nlm4_lockargs * arg = &parg->arg_nlm4_lock; int rc = NFS_REQ_OK; LogDebug(COMPONENT_NLM, "REQUEST PROCESSING: Calling nlm_Lock_Message"); nlm_client = get_nlm_client(TRUE, arg->alock.caller_name); if(nlm_client == NULL) rc = NFS_REQ_DROP; else rc = nlm4_Lock(parg, pexport, pcontext, pclient, ht, preq, pres); if(rc == NFS_REQ_OK) rc = nlm_send_async_res_nlm4(nlm_client, nlm4_lock_message_resp, pres); if(rc == NFS_REQ_DROP) { if(nlm_client != NULL) dec_nlm_client_ref(nlm_client); LogCrit(COMPONENT_NLM, "Could not send async response for nlm_Lock_Message"); } return NFS_REQ_DROP; }
/** * @brief Unlock Message * * @param[in] args * @param[in] req * @param[out] res * */ int nlm4_Unlock_Message(nfs_arg_t *args, struct svc_req *req, nfs_res_t *res) { state_nlm_client_t *nlm_client = NULL; state_nsm_client_t *nsm_client; nlm4_unlockargs *arg = &args->arg_nlm4_unlock; int rc = NFS_REQ_OK; LogDebug(COMPONENT_NLM, "REQUEST PROCESSING: Calling nlm_Unlock_Message"); nsm_client = get_nsm_client(CARE_NO_MONITOR, req->rq_xprt, arg->alock.caller_name); if (nsm_client != NULL) nlm_client = get_nlm_client(CARE_NO_MONITOR, req->rq_xprt, nsm_client, arg->alock.caller_name); if (nlm_client == NULL) rc = NFS_REQ_DROP; else rc = nlm4_Unlock(args, req, res); if (rc == NFS_REQ_OK) rc = nlm_send_async_res_nlm4(nlm_client, nlm4_unlock_message_resp, res); if (rc == NFS_REQ_DROP) { if (nsm_client != NULL) dec_nsm_client_ref(nsm_client); if (nlm_client != NULL) dec_nlm_client_ref(nlm_client); LogCrit(COMPONENT_NLM, "Could not send async response for nlm_Unlock_Message"); } return NFS_REQ_DROP; }