Emulex Logo
OneCoreā„¢ Storage SDK Release 11.2
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
ocs_ddump.c File Reference
#include "ocs.h"
#include "ocs_ddump.h"

Go to the source code of this file.

Detailed Description

generate FC ddump

Definition in file ocs_ddump.c.

Macros

#define DEFAULT_SAVED_DUMP_SIZE   (4*1024*1024)
 

Functions

void hal_queue_ddump (ocs_textbuf_t *textbuf, ocs_hal_t *hal)
 
static void ocs_ddump_sli4_queue (ocs_textbuf_t *textbuf, const char *name, ocs_hal_t *hal, sli4_queue_t **queue, uint32_t q_count, uint32_t qentries)
 Generate sli4 queue ddump. More...
 
static void ocs_ddump_sli_q_fields (ocs_textbuf_t *textbuf, sli4_t *sli4, sli4_qtype_e qtype)
 Generate SLI4 ddump. More...
 
static void ocs_ddump_sli (ocs_textbuf_t *textbuf, sli4_t *sli4)
 Generate SLI4 ddump. More...
 
static void ocs_ddump_hal_io (ocs_textbuf_t *textbuf, ocs_hal_io_t *io)
 Dump HAL IO. More...
 
static void ocs_ddump_hal (ocs_textbuf_t *textbuf, ocs_hal_t *hal, uint32_t flags, uint32_t qentries)
 Generate hal ddump. More...
 
int ocs_ddump (ocs_t *ocs, ocs_textbuf_t *textbuf, uint32_t flags, uint32_t qentries)
 Initiate ddump. More...
 
int32_t ocs_save_ddump (ocs_t *ocs, uint32_t flags, uint32_t qentries)
 Capture and save ddump. More...
 
int32_t ocs_save_ddump_all (uint32_t flags, uint32_t qentries, uint32_t alloc_flag)
 Capture and save ddump for all OCS instances. More...
 
int32_t ocs_adapter_ddump_clear_and_save (ocs_t *ocs, uint8_t bus, uint8_t dev, uint32_t flags, uint32_t qentries, uint32_t alloc_flag)
 Clear the previously saved ddump, and collect the ddump for all OCS instances of the adapter. More...
 
int32_t ocs_clear_saved_ddump (ocs_t *ocs)
 Clear saved ddump. More...
 

Macro Details

#define DEFAULT_SAVED_DUMP_SIZE   (4*1024*1024)

Definition at line 42 of file ocs_ddump.c.

Function Details

void hal_queue_ddump ( ocs_textbuf_t *  textbuf,
ocs_hal_t *  hal 
)

Definition at line 571 of file ocs_ddump.c.

int32_t ocs_adapter_ddump_clear_and_save ( ocs_t *  ocs,
uint8_t  bus,
uint8_t  dev,
uint32_t  flags,
uint32_t  qentries,
uint32_t  alloc_flag 
)

Clear the previously saved ddump, and collect the ddump for all OCS instances of the adapter.

Definition at line 881 of file ocs_ddump.c.

int32_t ocs_clear_saved_ddump ( ocs_t *  ocs)

Clear saved ddump.

Clears saved ddump to make room for next one.

Parameters
ocspointer to device context
Returns
0 if ddump was cleared; > 0 no saved ddump found

Definition at line 937 of file ocs_ddump.c.

int ocs_ddump ( ocs_t *  ocs,
ocs_textbuf_t *  textbuf,
uint32_t  flags,
uint32_t  qentries 
)

Initiate ddump.

Traverses the ocs/domain/port/node/io data structures to generate a driver dump.

Parameters
ocspointer to device context
textbufpointer to text buffer
flagsddump flags
qentriesnumber of queue entries to dump
Returns
Returns 0 on success, or a negative value on failure.

Definition at line 656 of file ocs_ddump.c.

static void ocs_ddump_hal ( ocs_textbuf_t *  textbuf,
ocs_hal_t *  hal,
uint32_t  flags,
uint32_t  qentries 
)
static

Generate hal ddump.

Generates hal ddump

Parameters
textbufpointer to text buffer
halpointer HAL context
flagsddump flags
qentriesnumber of qentries to dump
Returns
none

Definition at line 418 of file ocs_ddump.c.

static void ocs_ddump_hal_io ( ocs_textbuf_t *  textbuf,
ocs_hal_io_t *  io 
)
static

Dump HAL IO.

Dump HAL IO

Parameters
textbufpointer to text buffer
iopointer to HAL IO object
Returns
none

Definition at line 283 of file ocs_ddump.c.

static void ocs_ddump_sli ( ocs_textbuf_t *  textbuf,
sli4_t *  sli4 
)
static

Generate SLI4 ddump.

Generates sli4 ddump

Parameters
textbufpointer to text buffer
sli4pointer SLI context
Returns
none

Definition at line 177 of file ocs_ddump.c.

static void ocs_ddump_sli4_queue ( ocs_textbuf_t *  textbuf,
const char *  name,
ocs_hal_t *  hal,
sli4_queue_t **  queue,
uint32_t  q_count,
uint32_t  qentries 
)
static

Generate sli4 queue ddump.

Generates sli4 queue ddump data

Parameters
textbufpointer to text buffer
namename of SLI4 queue
halpointer HAL context
qpointer to SLI4 queues array
q_countcount of SLI4 queues
qentriesnumber of SLI4 queue entries to dump
Returns
none

Definition at line 62 of file ocs_ddump.c.

static void ocs_ddump_sli_q_fields ( ocs_textbuf_t *  textbuf,
sli4_t *  sli4,
sli4_qtype_e  qtype 
)
static

Generate SLI4 ddump.

Generates sli4 ddump

Parameters
textbufpointer to text buffer
sli4pointer SLI context
qtypeSLI4 queue type
Returns
none

Definition at line 143 of file ocs_ddump.c.

int32_t ocs_save_ddump ( ocs_t *  ocs,
uint32_t  flags,
uint32_t  qentries 
)

Capture and save ddump.

Captures and saves a ddump to the ocs_t structure to save the current state. The goal of this function is to save a ddump as soon as an issue is encountered. The saved ddump will be kept until the user reads it.

Parameters
ocspointer to device context
flagsddump flags
qentriesnumber of queue entries to dump
Returns
0 if ddump was saved; > 0 of one already exists; < 0 error

Definition at line 820 of file ocs_ddump.c.

int32_t ocs_save_ddump_all ( uint32_t  flags,
uint32_t  qentries,
uint32_t  alloc_flag 
)

Capture and save ddump for all OCS instances.

Calls ocs_save_ddump() for each OCS instance.

Parameters
flagsddump flags
qentriesnumber of queue entries to dump
alloc_flagallocate dump buffer if not already allocated
Returns
0 if ddump was saved; > 0 of one already exists; < 0 error

Definition at line 852 of file ocs_ddump.c.