Add linux-topology topic branch

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.
This commit is contained in:
Brian Behlendorf 2010-06-16 09:55:34 -07:00
parent b41c7ff877
commit 8c7748d8e0
5 changed files with 29 additions and 17 deletions

View File

@ -1,2 +1 @@
gcc-branch zfs-branch
fix-branch

21
.topmsg
View File

@ -1,19 +1,10 @@
From: Brian Behlendorf <behlendorf1@llnl.gov> From: Brian Behlendorf <behlendorf1@llnl.gov>
Subject: [PATCH] zfs branch Subject: [PATCH] linux topology
Merged result of all changes which are relevant to both Solaris Solaris recently introduced the idea of drive topology because
and Linux builds of the ZFS code. These are changes where there where a drive is located does matter. I have already handled
is a reasonable chance they will be accepted upstream. this with udev/blkid integration under Linux so I'm hopeful
this case can simply be removed but for now I've just stubbed
Additionally, since this is effectively the root of the linux out what is needed in libspl and commented out the rest here.
ZFS tree the core linux build system is added here. This
includes autogen.sh, configure.ac, m4 macros, some scripts/*,
and makefiles for all the core ZFS components. Linux-only
features which require tweaks to the build system should appear
on the relevant topic branches. All autotools products which
result from autogen.sh are commited to the linux-configure-branch.
This branch also contains the META, ChangeLog, AUTHORS, TODO,
and README, files.
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>

View File

@ -37,7 +37,9 @@
#include <libzfs.h> #include <libzfs.h>
#include <libshare.h> #include <libshare.h>
#if defined(HAVE_LIBTOPO)
#include <fm/libtopo.h> #include <fm/libtopo.h>
#endif /* HAVE_LIBTOPO */
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
@ -74,9 +76,11 @@ struct libzfs_handle {
boolean_t libzfs_mnttab_enable; boolean_t libzfs_mnttab_enable;
avl_tree_t libzfs_mnttab_cache; avl_tree_t libzfs_mnttab_cache;
int libzfs_pool_iter; int libzfs_pool_iter;
#if defined(HAVE_LIBTOPO)
topo_hdl_t *libzfs_topo_hdl; topo_hdl_t *libzfs_topo_hdl;
libzfs_fru_t **libzfs_fru_hash; libzfs_fru_t **libzfs_fru_hash;
libzfs_fru_t *libzfs_fru_list; libzfs_fru_t *libzfs_fru_list;
#endif /* HAVE_LIBTOPO */
char libzfs_chassis_id[256]; char libzfs_chassis_id[256];
}; };

View File

@ -26,6 +26,7 @@
#include <ctype.h> #include <ctype.h>
#include <errno.h> #include <errno.h>
#include <label.h>
#include <libintl.h> #include <libintl.h>
#include <math.h> #include <math.h>
#include <stdio.h> #include <stdio.h>

View File

@ -34,6 +34,8 @@
#include <libzfs.h> #include <libzfs.h>
#if defined(HAVE_LIBTOPO)
#include <fm/libtopo.h> #include <fm/libtopo.h>
#include <sys/fm/protocol.h> #include <sys/fm/protocol.h>
#include <sys/systeminfo.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 *)); 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 */