Add linux topology support
authorBrian Behlendorf <behlendorf1@llnl.gov>
Thu, 26 Aug 2010 18:55:19 +0000 (11:55 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Tue, 31 Aug 2010 20:42:00 +0000 (13:42 -0700)
Solaris recently introduced the idea of drive topology because
where a drive is located does matter.  I have already handled
this with udev/blkid integration under Linux so I'm hopeful
this case can simply be removed but for now I've just stubbed
out what is needed in libspl and commented out the rest here.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
lib/libzfs/include/libzfs_impl.h
lib/libzfs/libzfs_fru.c

index c9b09a2..3d001df 100644 (file)
@@ -36,7 +36,9 @@
 #include <libzfs.h>
 #include <libshare.h>
 
+#if defined(HAVE_LIBTOPO)
 #include <fm/libtopo.h>
+#endif /* HAVE_LIBTOPO */
 
 #ifdef __cplusplus
 extern "C" {
@@ -74,9 +76,11 @@ struct libzfs_handle {
        boolean_t libzfs_mnttab_enable;
        avl_tree_t libzfs_mnttab_cache;
        int libzfs_pool_iter;
+#if defined(HAVE_LIBTOPO)
        topo_hdl_t *libzfs_topo_hdl;
        libzfs_fru_t **libzfs_fru_hash;
        libzfs_fru_t *libzfs_fru_list;
+#endif /* HAVE_LIBTOPO */
        char libzfs_chassis_id[256];
 };
 
index 788fa2c..78f2f9c 100644 (file)
@@ -34,6 +34,8 @@
 
 #include <libzfs.h>
 
+#if defined(HAVE_LIBTOPO)
+
 #include <fm/libtopo.h>
 #include <sys/fm/protocol.h>
 #include <sys/systeminfo.h>
@@ -450,3 +452,18 @@ libzfs_fru_clear(libzfs_handle_t *hdl, boolean_t final)
                    ZFS_FRU_HASH_SIZE * sizeof (void *));
        }
 }
+
+#else /* HAVE_LIBTOPO */
+
+/*
+ * Clear memory associated with the FRU hash.
+ */
+void
+libzfs_fru_clear(libzfs_handle_t *hdl, boolean_t final)
+{
+       return;
+}
+
+#endif /* HAVE_LIBTOPO */
+
+