summaryrefslogtreecommitdiffstats
path: root/super-intel.c
diff options
context:
space:
mode:
authorPawel Baldysiak <pawel.baldysiak@intel.com>2016-03-11 16:47:15 +0100
committerJes Sorensen <Jes.Sorensen@redhat.com>2016-03-11 18:33:46 +0100
commitb5eece6925c962b57b76b00220f1662ead948854 (patch)
tree3b1a855b5198c53469ade1388538e57027327e18 /super-intel.c
parentGrow: close fd earlier to avoid "cannot get excl access" when stopping (diff)
downloadmdadm-b5eece6925c962b57b76b00220f1662ead948854.tar.xz
mdadm-b5eece6925c962b57b76b00220f1662ead948854.zip
super-intel: Make print_vmd_attached_devs() return int again
This patch reverts a0abe1e (super-intel: Make print_found_intel_controllers() return void) and make this function "return int" again. Also, interpreting the return value is added. Signed-off-by: Pawel Baldysiak <pawel.baldysiak@intel.com> Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Diffstat (limited to '')
-rw-r--r--super-intel.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/super-intel.c b/super-intel.c
index 3fe304aa..8a80c5b0 100644
--- a/super-intel.c
+++ b/super-intel.c
@@ -1766,7 +1766,7 @@ static int ahci_enumerate_ports(const char *hba_path, int port_count, int host_b
return err;
}
-static void print_vmd_attached_devs(struct sys_dev *hba)
+static int print_vmd_attached_devs(struct sys_dev *hba)
{
struct dirent *ent;
DIR *dir;
@@ -1775,14 +1775,14 @@ static void print_vmd_attached_devs(struct sys_dev *hba)
char *c, *rp;
if (hba->type != SYS_DEV_VMD)
- return;
+ return 1;
/* scroll through /sys/dev/block looking for devices attached to
* this hba
*/
dir = opendir("/sys/bus/pci/drivers/nvme");
if (!dir)
- return;
+ return 1;
for (ent = readdir(dir); ent; ent = readdir(dir)) {
int n;
@@ -1818,6 +1818,7 @@ static void print_vmd_attached_devs(struct sys_dev *hba)
}
closedir(dir);
+ return 0;
}
static void print_found_intel_controllers(struct sys_dev *elem)
@@ -2024,7 +2025,11 @@ static int detail_platform_imsm(int verbose, int enumerate_only, char *controlle
print_imsm_capability(&entry->orom);
printf(" I/O Controller : %s (%s)\n",
vmd_domain_to_controller(hba, buf), get_sys_dev_type(hba->type));
- print_vmd_attached_devs(hba);
+ if (print_vmd_attached_devs(hba)) {
+ if (verbose > 0)
+ pr_err("failed to get devices attached to VMD domain.\n");
+ result |= 2;
+ }
printf("\n");
}
}