Skip to content

Commit 39af9fc

Browse files
authored
Merge pull request #319 from hreinecke/scan-filter
Fixup scan filter usage
2 parents 9a449b9 + 1061ffb commit 39af9fc

1 file changed

Lines changed: 14 additions & 4 deletions

File tree

src/nvme/tree.c

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ static int nvme_scan_subsystem(nvme_root_t r, const char *name,
4444
nvme_scan_filter_t f);
4545
static int nvme_ctrl_scan_namespace(nvme_root_t r, struct nvme_ctrl *c,
4646
char *name);
47-
static int nvme_ctrl_scan_path(struct nvme_ctrl *c, char *name);
47+
static int nvme_ctrl_scan_path(nvme_root_t r, struct nvme_ctrl *c, char *name);
4848

4949
static inline void nvme_free_dirents(struct dirent **d, int i)
5050
{
@@ -97,6 +97,8 @@ int nvme_scan_topology(struct nvme_root *r, nvme_scan_filter_t f)
9797
continue;
9898
}
9999
if ((f) && !f(c->s)) {
100+
nvme_msg(r, LOG_DEBUG, "filter out controller %s\n",
101+
ctrls[i]->d_name);
100102
nvme_free_ctrl(c);
101103
}
102104
}
@@ -508,6 +510,7 @@ static int nvme_scan_subsystem(struct nvme_root *r, const char *name,
508510
nvme_host_t h = NULL;
509511
int ret;
510512

513+
nvme_msg(r, LOG_DEBUG, "scan subsystem %s\n", name);
511514
ret = asprintf(&path, "%s/%s", nvme_subsys_sysfs_dir, name);
512515
if (ret < 0)
513516
return ret;
@@ -557,8 +560,8 @@ static int nvme_scan_subsystem(struct nvme_root *r, const char *name,
557560
nvme_subsystem_scan_namespaces(r, s);
558561

559562
if (f && !f(s)) {
563+
nvme_msg(r, LOG_DEBUG, "filter out subsystem %s\n", name);
560564
__nvme_free_subsystem(s);
561-
return -1;
562565
}
563566

564567
return 0;
@@ -618,12 +621,14 @@ static void nvme_subsystem_set_path_ns(nvme_subsystem_t s, nvme_path_t p)
618621
}
619622
}
620623

621-
static int nvme_ctrl_scan_path(struct nvme_ctrl *c, char *name)
624+
static int nvme_ctrl_scan_path(nvme_root_t r, struct nvme_ctrl *c, char *name)
622625
{
623626
struct nvme_path *p;
624627
char *path, *grpid;
625628
int ret;
626629

630+
nvme_msg(r, LOG_DEBUG, "scan controller %s path %s\n",
631+
c->name, name);
627632
if (!c->s) {
628633
errno = ENXIO;
629634
return -1;
@@ -1067,7 +1072,7 @@ static int nvme_ctrl_scan_paths(nvme_root_t r, struct nvme_ctrl *c)
10671072
return ret;
10681073

10691074
for (i = 0; i < ret; i++)
1070-
nvme_ctrl_scan_path(c, paths[i]->d_name);
1075+
nvme_ctrl_scan_path(r, c, paths[i]->d_name);
10711076

10721077
nvme_free_dirents(paths, i);
10731078
return 0;
@@ -1325,6 +1330,7 @@ nvme_ctrl_t nvme_scan_ctrl(nvme_root_t r, const char *name)
13251330
char *hostnqn, *hostid, *subsysnqn, *subsysname;
13261331
int ret;
13271332

1333+
nvme_msg(r, LOG_DEBUG, "scan controller %s\n", name);
13281334
ret = asprintf(&path, "%s/%s", nvme_ctrl_sysfs_dir, name);
13291335
if (ret < 0) {
13301336
errno = ENOMEM;
@@ -1820,6 +1826,8 @@ static int nvme_ctrl_scan_namespace(nvme_root_t r, struct nvme_ctrl *c,
18201826
{
18211827
struct nvme_ns *n;
18221828

1829+
nvme_msg(r, LOG_DEBUG, "scan controller %s namespace %s\n",
1830+
c->name, name);
18231831
if (!c->s) {
18241832
nvme_msg(r, LOG_DEBUG, "no subsystem for %s\n", name);
18251833
errno = EINVAL;
@@ -1868,6 +1876,8 @@ static int nvme_subsystem_scan_namespace(nvme_root_t r, nvme_subsystem_t s,
18681876
{
18691877
struct nvme_ns *n;
18701878

1879+
nvme_msg(r, LOG_DEBUG, "scan subsystem %s namespace %s\n",
1880+
s->name, name);
18711881
n = __nvme_scan_namespace(s->sysfs_dir, name);
18721882
if (!n) {
18731883
nvme_msg(r, LOG_DEBUG, "failed to scan namespace %s\n", name);

0 commit comments

Comments
 (0)