From: Hannes Reinecke Date: Fri, 7 May 2021 14:54:19 +0000 (+0200) Subject: tree: add nvme_rescan_ctrl() X-Git-Tag: v1.0-rc0~124^2~8 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=f18c7288bc12fa98bab1a581994ef7e29ddd6511;p=users%2Fsagi%2Flibnvme.git tree: add nvme_rescan_ctrl() Add a function to rescan a controller eg after receiving an AEN. Signed-off-by: Hannes Reinecke --- diff --git a/src/nvme/tree.c b/src/nvme/tree.c index a75e914c..49b2b18a 100644 --- a/src/nvme/tree.c +++ b/src/nvme/tree.c @@ -1185,6 +1185,15 @@ static int nvme_subsystem_scan_ctrl(struct nvme_subsystem *s, char *name) return 0; } +void nvme_rescan_ctrl(struct nvme_ctrl *c) +{ + if (!c->s) + return; + nvme_subsystem_scan_namespaces(c->s); + nvme_ctrl_scan_namespaces(c); + nvme_ctrl_scan_paths(c); +} + static int nvme_bytes_to_lba(nvme_ns_t n, off_t offset, size_t count, __u64 *lba, __u16 *nlb) { diff --git a/src/nvme/tree.h b/src/nvme/tree.h index 7228a10e..719dbbfb 100644 --- a/src/nvme/tree.h +++ b/src/nvme/tree.h @@ -865,6 +865,12 @@ int nvme_ctrl_disconnect(nvme_ctrl_t c); */ nvme_ctrl_t nvme_scan_ctrl(nvme_root_t r, const char *name); +/** + * @c: + * + */ +void nvme_rescan_ctrl(nvme_ctrl_t c); + /** * nvme_init_ctrl() - * @h: