nvme: export internal security send/receive APIs as public APIs
There are synchronous security send/receive APIs defined in nvme.h, however, we still need the asynchronous APIs so that we can make the OPAL library can be used in asynchronous way. As the asynchronous APIs are already defined in nvme_ctrlr_cmd.c, so just export them to public APIs. Change-Id: I5646f342a4bf70faad37daa956476f05a1327bcc Signed-off-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/675 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
This commit is contained in:
parent
39dce00bb5
commit
4f7fa18d69
@ -2,6 +2,11 @@
|
||||
|
||||
## v20.04: (Upcoming Release)
|
||||
|
||||
### nvme
|
||||
|
||||
Export internal nvme_ctrlr_cmd_security_receive/send() APIs as public APIs with "spdk_"
|
||||
prefix.
|
||||
|
||||
### copy
|
||||
|
||||
The copy engine library, modules and public APIs have been renamed. Use of the word `copy`
|
||||
|
@ -1622,6 +1622,51 @@ int spdk_nvme_ctrlr_cmd_set_feature_ns(struct spdk_nvme_ctrlr *ctrlr, uint8_t fe
|
||||
uint32_t payload_size, spdk_nvme_cmd_cb cb_fn,
|
||||
void *cb_arg, uint32_t ns_id);
|
||||
|
||||
/**
|
||||
* Receive security protocol data from controller.
|
||||
*
|
||||
* This function is thread safe and can be called at any point after spdk_nvme_probe().
|
||||
*
|
||||
* \param ctrlr NVMe controller to use for security receive command submission.
|
||||
* \param secp Security Protocol that is used.
|
||||
* \param spsp Security Protocol Specific field.
|
||||
* \param nssf NVMe Security Specific field. Indicate RPMB target when using Security
|
||||
* Protocol EAh.
|
||||
* \param payload The pointer to the payload buffer.
|
||||
* \param payload_size The size of payload buffer.
|
||||
* \param cb_fn Callback function to invoke when the command has been completed.
|
||||
* \param cb_arg Argument to pass to the callback function.
|
||||
*
|
||||
* \return 0 if successfully submitted, negated errno if resources could not be allocated
|
||||
* for this request.
|
||||
*/
|
||||
int spdk_nvme_ctrlr_cmd_security_receive(struct spdk_nvme_ctrlr *ctrlr, uint8_t secp,
|
||||
uint16_t spsp, uint8_t nssf, void *payload,
|
||||
uint32_t payload_size,
|
||||
spdk_nvme_cmd_cb cb_fn, void *cb_arg);
|
||||
|
||||
/**
|
||||
* Send security protocol data to controller.
|
||||
*
|
||||
* This function is thread safe and can be called at any point after spdk_nvme_probe().
|
||||
*
|
||||
* \param ctrlr NVMe controller to use for security send command submission.
|
||||
* \param secp Security Protocol that is used.
|
||||
* \param spsp Security Protocol Specific field.
|
||||
* \param nssf NVMe Security Specific field. Indicate RPMB target when using Security
|
||||
* Protocol EAh.
|
||||
* \param payload The pointer to the payload buffer.
|
||||
* \param payload_size The size of payload buffer.
|
||||
* \param cb_fn Callback function to invoke when the command has been completed.
|
||||
* \param cb_arg Argument to pass to the callback function.
|
||||
*
|
||||
* \return 0 if successfully submitted, negated errno if resources could not be allocated
|
||||
* for this request.
|
||||
*/
|
||||
int spdk_nvme_ctrlr_cmd_security_send(struct spdk_nvme_ctrlr *ctrlr, uint8_t secp,
|
||||
uint16_t spsp, uint8_t nssf, void *payload,
|
||||
uint32_t payload_size, spdk_nvme_cmd_cb cb_fn, void *cb_arg);
|
||||
|
||||
/**
|
||||
* Receive security protocol data from controller.
|
||||
*
|
||||
|
@ -3255,14 +3255,14 @@ spdk_nvme_ctrlr_security_receive(struct spdk_nvme_ctrlr *ctrlr, uint8_t secp,
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
res = nvme_ctrlr_cmd_security_receive(ctrlr, secp, spsp, nssf, payload, size,
|
||||
nvme_completion_poll_cb, status);
|
||||
res = spdk_nvme_ctrlr_cmd_security_receive(ctrlr, secp, spsp, nssf, payload, size,
|
||||
nvme_completion_poll_cb, status);
|
||||
if (res) {
|
||||
free(status);
|
||||
return res;
|
||||
}
|
||||
if (spdk_nvme_wait_for_completion_robust_lock(ctrlr->adminq, status, &ctrlr->ctrlr_lock)) {
|
||||
SPDK_ERRLOG("spdk_nvme_ctrlr_security_receive failed!\n");
|
||||
SPDK_ERRLOG("spdk_nvme_ctrlr_cmd_security_receive failed!\n");
|
||||
if (!status->timed_out) {
|
||||
free(status);
|
||||
}
|
||||
@ -3286,14 +3286,15 @@ spdk_nvme_ctrlr_security_send(struct spdk_nvme_ctrlr *ctrlr, uint8_t secp,
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
res = nvme_ctrlr_cmd_security_send(ctrlr, secp, spsp, nssf, payload, size, nvme_completion_poll_cb,
|
||||
status);
|
||||
res = spdk_nvme_ctrlr_cmd_security_send(ctrlr, secp, spsp, nssf, payload, size,
|
||||
nvme_completion_poll_cb,
|
||||
status);
|
||||
if (res) {
|
||||
free(status);
|
||||
return res;
|
||||
}
|
||||
if (spdk_nvme_wait_for_completion_robust_lock(ctrlr->adminq, status, &ctrlr->ctrlr_lock)) {
|
||||
SPDK_ERRLOG("spdk_nvme_ctrlr_security_send failed!\n");
|
||||
SPDK_ERRLOG("spdk_nvme_ctrlr_cmd_security_send failed!\n");
|
||||
if (!status->timed_out) {
|
||||
free(status);
|
||||
}
|
||||
|
@ -686,9 +686,9 @@ nvme_ctrlr_cmd_fw_image_download(struct spdk_nvme_ctrlr *ctrlr,
|
||||
}
|
||||
|
||||
int
|
||||
nvme_ctrlr_cmd_security_receive(struct spdk_nvme_ctrlr *ctrlr, uint8_t secp,
|
||||
uint16_t spsp, uint8_t nssf, void *payload,
|
||||
uint32_t payload_size, spdk_nvme_cmd_cb cb_fn, void *cb_arg)
|
||||
spdk_nvme_ctrlr_cmd_security_receive(struct spdk_nvme_ctrlr *ctrlr, uint8_t secp,
|
||||
uint16_t spsp, uint8_t nssf, void *payload,
|
||||
uint32_t payload_size, spdk_nvme_cmd_cb cb_fn, void *cb_arg)
|
||||
{
|
||||
struct nvme_request *req;
|
||||
struct spdk_nvme_cmd *cmd;
|
||||
@ -717,9 +717,9 @@ nvme_ctrlr_cmd_security_receive(struct spdk_nvme_ctrlr *ctrlr, uint8_t secp,
|
||||
}
|
||||
|
||||
int
|
||||
nvme_ctrlr_cmd_security_send(struct spdk_nvme_ctrlr *ctrlr, uint8_t secp,
|
||||
uint16_t spsp, uint8_t nssf, void *payload,
|
||||
uint32_t payload_size, spdk_nvme_cmd_cb cb_fn, void *cb_arg)
|
||||
spdk_nvme_ctrlr_cmd_security_send(struct spdk_nvme_ctrlr *ctrlr, uint8_t secp,
|
||||
uint16_t spsp, uint8_t nssf, void *payload,
|
||||
uint32_t payload_size, spdk_nvme_cmd_cb cb_fn, void *cb_arg)
|
||||
{
|
||||
struct nvme_request *req;
|
||||
struct spdk_nvme_cmd *cmd;
|
||||
|
@ -841,12 +841,6 @@ int nvme_ctrlr_cmd_fw_commit(struct spdk_nvme_ctrlr *ctrlr,
|
||||
int nvme_ctrlr_cmd_fw_image_download(struct spdk_nvme_ctrlr *ctrlr,
|
||||
uint32_t size, uint32_t offset, void *payload,
|
||||
spdk_nvme_cmd_cb cb_fn, void *cb_arg);
|
||||
int nvme_ctrlr_cmd_security_receive(struct spdk_nvme_ctrlr *ctrlr, uint8_t secp, uint16_t spsp,
|
||||
uint8_t nssf, void *payload, uint32_t payload_size,
|
||||
spdk_nvme_cmd_cb cb_fn, void *cb_arg);
|
||||
int nvme_ctrlr_cmd_security_send(struct spdk_nvme_ctrlr *ctrlr, uint8_t secp,
|
||||
uint16_t spsp, uint8_t nssf, void *payload,
|
||||
uint32_t payload_size, spdk_nvme_cmd_cb cb_fn, void *cb_arg);
|
||||
int nvme_ctrlr_cmd_sanitize(struct spdk_nvme_ctrlr *ctrlr, uint32_t nsid,
|
||||
struct spdk_nvme_sanitize *sanitize, uint32_t cdw11,
|
||||
spdk_nvme_cmd_cb cb_fn, void *cb_arg);
|
||||
|
@ -428,23 +428,6 @@ nvme_ctrlr_cmd_fw_image_download(struct spdk_nvme_ctrlr *ctrlr,
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
nvme_ctrlr_cmd_security_receive(struct spdk_nvme_ctrlr *ctrlr, uint8_t secp, uint16_t spsp,
|
||||
uint8_t nssf, void *payload, uint32_t payload_size,
|
||||
spdk_nvme_cmd_cb cb_fn, void *cb_arg)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
nvme_ctrlr_cmd_security_send(struct spdk_nvme_ctrlr *ctrlr, uint8_t secp,
|
||||
uint16_t spsp, uint8_t nssf, void *payload,
|
||||
uint32_t payload_size, spdk_nvme_cmd_cb cb_fn, void *cb_arg)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
nvme_ns_destruct(struct spdk_nvme_ns *ns)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user