All new accounts created on Gitlab now require administrator approval. If you invite any collaborators, please let Flux staff know so they can approve the accounts.

Commit f14e2e29 authored by James Smart's avatar James Smart Committed by James Bottomley

[SCSI] SCSI & FC transport: extend event vendor id's to 64bits

During discussions with Mike Christie, I became convinced that we needed
a larger vendor id. This patch extends the id from 32 to 64 bits.

This applies on top of the prior patches that add SCSI transport events
via netlink.
Signed-off-by: default avatarJames Smart <James.Smart@emulex.com>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
parent 84314fd4
......@@ -513,7 +513,7 @@ EXPORT_SYMBOL(fc_host_post_event);
**/
void
fc_host_post_vendor_event(struct Scsi_Host *shost, u32 event_number,
u32 data_len, char * data_buf, u32 vendor_id)
u32 data_len, char * data_buf, u64 vendor_id)
{
struct sk_buff *skb;
struct nlmsghdr *nlh;
......
......@@ -67,9 +67,10 @@ struct scsi_nl_hdr {
* Identifiers for each type:
* PCI : ID data is the 16 bit PCI Registered Vendor ID
*/
#define SCSI_NL_VID_ID_MASK 0x00FFFFFF
#define SCSI_NL_VID_TYPE_MASK 0xFF000000
#define SCSI_NL_VID_TYPE_PCI 0x01000000
#define SCSI_NL_VID_TYPE_SHIFT 56
#define SCSI_NL_VID_TYPE_MASK ((u64)0xFF << SCSI_NL_VID_TYPE_SHIFT)
#define SCSI_NL_VID_TYPE_PCI ((u64)0x01 << SCSI_NL_VID_TYPE_SHIFT)
#define SCSI_NL_VID_ID_MASK (~ SCSI_NL_VID_TYPE_MASK)
#define INIT_SCSI_NL_HDR(hdr, t, mtype, mlen) \
......
......@@ -58,7 +58,7 @@
struct fc_nl_event {
struct scsi_nl_hdr snlh; /* must be 1st element ! */
uint64_t seconds;
uint32_t vendor_id;
uint64_t vendor_id;
uint16_t host_no;
uint16_t event_datalen;
uint32_t event_num;
......
......@@ -555,7 +555,7 @@ u32 fc_get_event_number(void);
void fc_host_post_event(struct Scsi_Host *shost, u32 event_number,
enum fc_host_event_code event_code, u32 event_data);
void fc_host_post_vendor_event(struct Scsi_Host *shost, u32 event_number,
u32 data_len, char * data_buf, u32 vendor_id);
u32 data_len, char * data_buf, u64 vendor_id);
/* Note: when specifying vendor_id to fc_host_post_vendor_event()
* be sure to read the Vendor Type and ID formatting requirements
* specified in scsi_netlink.h
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment