From 0bd3faf35812e19f892486305f01b0ab7847c16b Mon Sep 17 00:00:00 2001 From: Shuhei Matsumoto Date: Thu, 30 Dec 2021 14:15:20 +0900 Subject: [PATCH] bdev/nvme: Rename functions for a full ctrlr reset sequence Rename a few functions for a full ctrlr reset sequence to clarify what we do and make the following patches easier. Signed-off-by: Shuhei Matsumoto Change-Id: I051e3ab68c3cd77fd6040a2d069d50a700123ae6 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/10920 Community-CI: Broadcom CI Tested-by: SPDK CI Jenkins Reviewed-by: Aleksey Marchuk Reviewed-by: Jim Harris --- module/bdev/nvme/bdev_nvme.c | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/module/bdev/nvme/bdev_nvme.c b/module/bdev/nvme/bdev_nvme.c index bfba51488..baede5894 100644 --- a/module/bdev/nvme/bdev_nvme.c +++ b/module/bdev/nvme/bdev_nvme.c @@ -3,7 +3,7 @@ * * Copyright (c) Intel Corporation. All rights reserved. * Copyright (c) 2019 Mellanox Technologies LTD. All rights reserved. - * Copyright (c) 2021 NVIDIA CORPORATION & AFFILIATES. All rights reserved. + * Copyright (c) 2021, 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -1390,7 +1390,7 @@ bdev_nvme_reset_create_qpair(struct spdk_io_channel_iter *i) } static int -bdev_nvme_ctrlr_reset_poll(void *arg) +bdev_nvme_reconnect_ctrlr_poll(void *arg) { struct nvme_ctrlr *nvme_ctrlr = arg; int rc; @@ -1413,6 +1413,16 @@ bdev_nvme_ctrlr_reset_poll(void *arg) return SPDK_POLLER_BUSY; } +static void +bdev_nvme_reconnect_ctrlr(struct nvme_ctrlr *nvme_ctrlr) +{ + spdk_nvme_ctrlr_reconnect_async(nvme_ctrlr->ctrlr); + + assert(nvme_ctrlr->reset_detach_poller == NULL); + nvme_ctrlr->reset_detach_poller = SPDK_POLLER_REGISTER(bdev_nvme_reconnect_ctrlr_poll, + nvme_ctrlr, 0); +} + static void bdev_nvme_reset_ctrlr(struct spdk_io_channel_iter *i, int status) { @@ -1428,11 +1438,7 @@ bdev_nvme_reset_ctrlr(struct spdk_io_channel_iter *i, int status) rc = spdk_nvme_ctrlr_disconnect(nvme_ctrlr->ctrlr); assert(rc == 0); - spdk_nvme_ctrlr_reconnect_async(nvme_ctrlr->ctrlr); - - assert(nvme_ctrlr->reset_detach_poller == NULL); - nvme_ctrlr->reset_detach_poller = SPDK_POLLER_REGISTER(bdev_nvme_ctrlr_reset_poll, - nvme_ctrlr, 0); + bdev_nvme_reconnect_ctrlr(nvme_ctrlr); } static void