summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Behlendorf <[email protected]>2017-03-23 18:24:09 -0700
committerGitHub <[email protected]>2017-03-23 18:24:09 -0700
commitb25c5b0639e0d2281ccbd3b5766762dc3bebfc02 (patch)
tree751c764722082aeb1d479209e53babab1e0f7629
parent55922e73b4294fc6c3014be27b61201b7962088c (diff)
Fix undefined reference to `libzfs_fru_compare'
Add trivial libzfs_fru_compare() function which can be used when HAVE_LIBTOPO is not defined. The only caller is find_vdev() and this function should never be reached because search_fru must be NULL unless HAVE_LIBTOPO is defined. Rename _HAS_FMD_TOPO to existing HAVE_LIBTOPO which was originally added for this purpose. This macro will never be defined. Reviewed-by: Tony Hutter <[email protected]> Reviewed-by: Giuseppe Di Natale <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Closes #5402 Closes #5909
-rw-r--r--cmd/zed/agents/zfs_diagnosis.c4
-rw-r--r--cmd/zed/agents/zfs_retire.c10
-rw-r--r--lib/libzfs/libzfs_fru.c9
3 files changed, 16 insertions, 7 deletions
diff --git a/cmd/zed/agents/zfs_diagnosis.c b/cmd/zed/agents/zfs_diagnosis.c
index 2f2a26cd9..704873499 100644
--- a/cmd/zed/agents/zfs_diagnosis.c
+++ b/cmd/zed/agents/zfs_diagnosis.c
@@ -377,7 +377,7 @@ zfs_case_solve(fmd_hdl_t *hdl, zfs_case_t *zcp, const char *faultname,
nvlist_t *detector, *fault;
boolean_t serialize;
nvlist_t *fru = NULL;
-#ifdef _HAS_FMD_TOPO
+#ifdef HAVE_LIBTOPO
nvlist_t *fmri;
topo_hdl_t *thp;
int err;
@@ -400,7 +400,7 @@ zfs_case_solve(fmd_hdl_t *hdl, zfs_case_t *zcp, const char *faultname,
zcp->zc_data.zc_vdev_guid);
}
-#ifdef _HAS_FMD_TOPO
+#ifdef HAVE_LIBTOPO
/*
* We also want to make sure that the detector (pool or vdev) properly
* reflects the diagnosed state, when the fault corresponds to internal
diff --git a/cmd/zed/agents/zfs_retire.c b/cmd/zed/agents/zfs_retire.c
index 444f23ac8..c1349fb30 100644
--- a/cmd/zed/agents/zfs_retire.c
+++ b/cmd/zed/agents/zfs_retire.c
@@ -177,7 +177,7 @@ find_by_guid(libzfs_handle_t *zhdl, uint64_t pool_guid, uint64_t vdev_guid,
return (zhp);
}
-#ifdef _HAS_FMD_TOPO
+#ifdef HAVE_LIBTOPO
static int
search_pool(zpool_handle_t *zhp, void *data)
{
@@ -218,7 +218,7 @@ find_by_fru(libzfs_handle_t *zhdl, const char *fru, nvlist_t **vdevp)
*vdevp = cb.cb_vdev;
return (cb.cb_zhp);
}
-#endif /* _HAS_FMD_TOPO */
+#endif /* HAVE_LIBTOPO */
/*
* Given a vdev, attempt to replace it with every known spare until one
@@ -289,7 +289,7 @@ zfs_vdev_repair(fmd_hdl_t *hdl, nvlist_t *nvl)
zfs_retire_data_t *zdp = fmd_hdl_getspecific(hdl);
zfs_retire_repaired_t *zrp;
uint64_t pool_guid, vdev_guid;
-#ifdef _HAS_FMD_TOPO
+#ifdef HAVE_LIBTOPO
nvlist_t *asru;
#endif
@@ -315,7 +315,7 @@ zfs_vdev_repair(fmd_hdl_t *hdl, nvlist_t *nvl)
return;
}
-#ifdef _HAS_FMD_TOPO
+#ifdef HAVE_LIBTOPO
asru = fmd_nvl_alloc(hdl, FMD_SLEEP);
(void) nvlist_add_uint8(asru, FM_VERSION, ZFS_SCHEME_VERSION0);
@@ -477,7 +477,7 @@ zfs_retire_recv(fmd_hdl_t *hdl, fmd_event_t *ep, nvlist_t *nvl,
}
if (is_disk) {
-#ifdef _HAS_FMD_TOPO
+#ifdef HAVE_LIBTOPO
/*
* This is a disk fault. Lookup the FRU, convert it to
* an FMRI string, and attempt to find a matching vdev.
diff --git a/lib/libzfs/libzfs_fru.c b/lib/libzfs/libzfs_fru.c
index 6be927f80..bb278aa7b 100644
--- a/lib/libzfs/libzfs_fru.c
+++ b/lib/libzfs/libzfs_fru.c
@@ -456,6 +456,15 @@ libzfs_fru_clear(libzfs_handle_t *hdl, boolean_t final)
#else /* HAVE_LIBTOPO */
/*
+ * Compare to two FRUs, ignoring any authority information.
+ */
+boolean_t
+libzfs_fru_compare(libzfs_handle_t *hdl, const char *a, const char *b)
+{
+ return (B_FALSE);
+}
+
+/*
* Clear memory associated with the FRU hash.
*/
void