Re: [PATCH v9 03/12] nvmet: add return value to nvmet_add_async_event()
From: Keith Busch <kbusch@kernel.org>
Date: 2019-10-09 22:17:25
Also in:
linux-fsdevel, linux-nvme, lkml
On Wed, Oct 09, 2019 at 01:25:20PM -0600, Logan Gunthorpe wrote:
From: Chaitanya Kulkarni <redacted> Change the return value for nvmet_add_async_event(). This change is needed for the target passthru code which will submit async events on namespaces changes and can fail the command should adding the event fail (on -ENOMEM). Signed-off-by: Chaitanya Kulkarni <redacted> [logang@deltatee.com: * fleshed out commit message * change to using int as a return type instead of bool ] Signed-off-by: Logan Gunthorpe <logang@deltatee.com> Reviewed-by: Sagi Grimberg <sagi@grimberg.me> ---
Looks fine, but let's remove the version comments out of commit log if we're applying this one. Reviewed-by: Keith Busch <kbusch@kernel.org>
quoted hunk ↗ jump to hunk
drivers/nvme/target/core.c | 6 ++++-- drivers/nvme/target/nvmet.h | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-)diff --git a/drivers/nvme/target/core.c b/drivers/nvme/target/core.c index 3a67e244e568..d6dcb86d8be7 100644 --- a/drivers/nvme/target/core.c +++ b/drivers/nvme/target/core.c@@ -173,14 +173,14 @@ static void nvmet_async_event_work(struct work_struct *work) } } -void nvmet_add_async_event(struct nvmet_ctrl *ctrl, u8 event_type, +int nvmet_add_async_event(struct nvmet_ctrl *ctrl, u8 event_type, u8 event_info, u8 log_page) { struct nvmet_async_event *aen; aen = kmalloc(sizeof(*aen), GFP_KERNEL); if (!aen) - return; + return -ENOMEM; aen->event_type = event_type; aen->event_info = event_info;@@ -191,6 +191,8 @@ void nvmet_add_async_event(struct nvmet_ctrl *ctrl, u8 event_type, mutex_unlock(&ctrl->lock); schedule_work(&ctrl->async_event_work); + + return 0; } static void nvmet_add_to_changed_ns_log(struct nvmet_ctrl *ctrl, __le32 nsid)diff --git a/drivers/nvme/target/nvmet.h b/drivers/nvme/target/nvmet.h index c51f8dd01dc4..3d313a6452cc 100644 --- a/drivers/nvme/target/nvmet.h +++ b/drivers/nvme/target/nvmet.h@@ -441,7 +441,7 @@ void nvmet_port_disc_changed(struct nvmet_port *port, struct nvmet_subsys *subsys); void nvmet_subsys_disc_changed(struct nvmet_subsys *subsys, struct nvmet_host *host); -void nvmet_add_async_event(struct nvmet_ctrl *ctrl, u8 event_type, +int nvmet_add_async_event(struct nvmet_ctrl *ctrl, u8 event_type, u8 event_info, u8 log_page); #define NVMET_QUEUE_SIZE 1024-- 2.20.1