bdev: Use event_notify abstraction for media management notification

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Signed-off-by: Mike Gerdts <mgerdts@nvidia.com>
Change-Id: Ib775ab6bcbf3af61806f389e88944a4d827b6e82
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16578
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
Shuhei Matsumoto 2023-01-27 22:05:54 +09:00 committed by Tomasz Zawadzki
parent 3522d43a95
commit ee1f124801

View File

@ -8059,6 +8059,14 @@ out:
return rc;
}
static void
_media_management_notify(void *arg)
{
struct spdk_bdev_desc *desc = arg;
_event_notify(desc, SPDK_BDEV_EVENT_MEDIA_MANAGEMENT);
}
void
spdk_bdev_notify_media_management(struct spdk_bdev *bdev)
{
@ -8067,8 +8075,7 @@ spdk_bdev_notify_media_management(struct spdk_bdev *bdev)
spdk_spin_lock(&bdev->internal.spinlock);
TAILQ_FOREACH(desc, &bdev->internal.open_descs, link) {
if (!TAILQ_EMPTY(&desc->pending_media_events)) {
desc->callback.event_fn(SPDK_BDEV_EVENT_MEDIA_MANAGEMENT, bdev,
desc->callback.ctx);
event_notify(desc, _media_management_notify);
}
}
spdk_spin_unlock(&bdev->internal.spinlock);