diff options
| author | rs135747 <none@none> | 2005-11-11 16:52:37 -0800 |
|---|---|---|
| committer | rs135747 <none@none> | 2005-11-11 16:52:37 -0800 |
| commit | 8c4f8890c870d3bd16cbcaeed2dc4679d5e076b5 (patch) | |
| tree | ab4d0d1191a3708b22742d4e5260a35150b9bb23 /usr/src/uts/common/sys/devinfo_impl.h | |
| parent | a940d195c7af8690a5b0f1a1f638857f3cc91248 (diff) | |
| download | illumos-joyent-8c4f8890c870d3bd16cbcaeed2dc4679d5e076b5.tar.gz | |
PSARC 2004/626 SNIA Multipath Management API support for scsi_vhci
PSARC 2005/646 MDI/PHCI/libdevinfo Extensions for SNIA MPAPI support
6271075 Provide libdevinfo interface that allows to get to phci nodes from vhci
6274924 DINFOCACHE snapshot needs to be invalidated when pathinfo is created or removed
6326490 Need to provide interconnect-type prop
6326499 MDI needs to provide vhci/phci/client device traversal interfaces.
6326502 MDI needs to generate sysevent for phci registration/unregistration
6326564 Provide SNIA MP API support
6326937 scsi_vhci(MPxIO) needs to provide Explicit Mode support for TPGS devices
Diffstat (limited to 'usr/src/uts/common/sys/devinfo_impl.h')
| -rw-r--r-- | usr/src/uts/common/sys/devinfo_impl.h | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/usr/src/uts/common/sys/devinfo_impl.h b/usr/src/uts/common/sys/devinfo_impl.h index 1e0f3a7fb9..6bf4255cf6 100644 --- a/usr/src/uts/common/sys/devinfo_impl.h +++ b/usr/src/uts/common/sys/devinfo_impl.h @@ -98,14 +98,16 @@ extern "C" { #define MAX_TREE_DEPTH 64 #define MAX_PTR_IN_PRV 5 #define DI_SNAPSHOT_VERSION_0 0 /* reserved */ -#define DI_SNAPSHOT_VERSION DI_SNAPSHOT_VERSION_0 /* current version */ +#define DI_SNAPSHOT_VERSION_1 1 /* reserved */ +#define DI_SNAPSHOT_VERSION DI_SNAPSHOT_VERSION_1 /* current version */ #define DI_PRIVDATA_VERSION_0 10 /* Start from 10 so caller must set */ #define DI_BIG_ENDIAN 0 /* reserved */ #define DI_LITTLE_ENDIAN 1 /* reserved */ #define DI_CACHE_MAGIC 0xdfcac6ed /* magic # for cache */ #define DI_CACHE_PERMS (0444) -#define DI_CACHE_SNAPSHOT_FLAGS (DINFOFORCE|DINFOSUBTREE|DINFOMINOR|DINFOPROP) +#define DI_CACHE_SNAPSHOT_FLAGS \ + (DINFOFORCE|DINFOSUBTREE|DINFOMINOR|DINFOPROP|DINFOPATH) #define DI_NODE(addr) ((struct di_node *)((void *)(addr))) #define DI_MINOR(addr) ((struct di_minor *)((void *)(addr))) @@ -126,6 +128,15 @@ extern "C" { #define DIPATH(addr) DI_PATH(addr) #define DIPATHPROP(addr) DI_PATHPROP(addr) +/* + * multipath component definitions: Follows the registered component of + * the mpxio system. + */ +#define MULTIPATH_COMPONENT_NONE 0 +#define MULTIPATH_COMPONENT_VHCI 0x1 +#define MULTIPATH_COMPONENT_PHCI 0x2 +#define MULTIPATH_COMPONENT_CLIENT 0x4 + typedef int32_t di_off_t; /* @@ -140,6 +151,7 @@ struct di_all { uint32_t cache_checksum; /* snapshot checksum */ uint64_t snapshot_time; /* snapshot timestamp */ di_off_t top_devinfo; + di_off_t top_vhci_devinfo; di_off_t devnames; di_off_t ppdata_format; /* parent priv data format array */ di_off_t dpdata_format; /* driver priv data format array */ @@ -256,7 +268,15 @@ struct di_node { /* useful info to export for each tree node */ di_off_t tgt_links; di_off_t src_links; - uint64_t user_private_data; + uint32_t di_pad1; /* 4 byte padding for 32bit x86 app. */ + uint64_t user_private_data; + /* + * offset to link vhci/phci nodes. + */ + di_off_t next_vhci; + di_off_t top_phci; + di_off_t next_phci; + uint32_t multipath_component; /* stores MDI_COMPONENT_* value. */ }; /* |
