From da2fc15f2a6c9b4acbe57c3e17d7720573867944 Mon Sep 17 00:00:00 2001 From: Shuhei Matsumoto Date: Thu, 7 Apr 2022 09:44:38 +0900 Subject: [PATCH] bdev/nvme: Factor out updating ANA state of ns operation Signed-off-by: Shuhei Matsumoto Change-Id: Ib703f57c4bc00c7305856b2f0613fe68428c953e Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12193 Tested-by: SPDK CI Jenkins Community-CI: Broadcom CI Reviewed-by: Aleksey Marchuk Reviewed-by: Monica Kenguva Reviewed-by: Jim Harris --- module/bdev/nvme/bdev_nvme.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/module/bdev/nvme/bdev_nvme.c b/module/bdev/nvme/bdev_nvme.c index f7b1c8457..48d7fb5d5 100644 --- a/module/bdev/nvme/bdev_nvme.c +++ b/module/bdev/nvme/bdev_nvme.c @@ -2624,6 +2624,15 @@ bdev_nvme_parse_ana_log_page(struct nvme_ctrlr *nvme_ctrlr, return rc; } +static void +_nvme_ns_set_ana_state(struct nvme_ns *nvme_ns, + const struct spdk_nvme_ana_group_descriptor *desc) +{ + nvme_ns->ana_group_id = desc->ana_group_id; + nvme_ns->ana_state = desc->ana_state; + nvme_ns->ana_state_updating = false; +} + static int nvme_ns_set_ana_state(const struct spdk_nvme_ana_group_descriptor *desc, void *cb_arg) { @@ -2634,8 +2643,8 @@ nvme_ns_set_ana_state(const struct spdk_nvme_ana_group_descriptor *desc, void *c if (desc->nsid[i] != spdk_nvme_ns_get_id(nvme_ns->ns)) { continue; } - nvme_ns->ana_group_id = desc->ana_group_id; - nvme_ns->ana_state = desc->ana_state; + + _nvme_ns_set_ana_state(nvme_ns, desc); return 1; } @@ -3268,9 +3277,7 @@ nvme_ctrlr_set_ana_states(const struct spdk_nvme_ana_group_descriptor *desc, continue; } - nvme_ns->ana_group_id = desc->ana_group_id; - nvme_ns->ana_state = desc->ana_state; - nvme_ns->ana_state_updating = false; + _nvme_ns_set_ana_state(nvme_ns, desc); } return 0;