Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
zfcp_fsf.c File Reference
#include <linux/blktrace_api.h>
#include <linux/slab.h>
#include <scsi/fc/fc_els.h>
#include "zfcp_ext.h"
#include "zfcp_fc.h"
#include "zfcp_dbf.h"
#include "zfcp_qdio.h"
#include "zfcp_reqlist.h"

Go to the source code of this file.

Macros

#define KMSG_COMPONENT   "zfcp"
 
#define pr_fmt(fmt)   KMSG_COMPONENT ": " fmt
 
#define ZFCP_FSF_PORTSPEED_1GBIT   (1 << 0)
 
#define ZFCP_FSF_PORTSPEED_2GBIT   (1 << 1)
 
#define ZFCP_FSF_PORTSPEED_4GBIT   (1 << 2)
 
#define ZFCP_FSF_PORTSPEED_10GBIT   (1 << 3)
 
#define ZFCP_FSF_PORTSPEED_8GBIT   (1 << 4)
 
#define ZFCP_FSF_PORTSPEED_16GBIT   (1 << 5)
 
#define ZFCP_FSF_PORTSPEED_NOT_NEGOTIATED   (1 << 15)
 

Functions

void zfcp_fsf_req_free (struct zfcp_fsf_req *req)
 
void zfcp_fsf_req_dismiss_all (struct zfcp_adapter *adapter)
 
int zfcp_fsf_status_read (struct zfcp_qdio *qdio)
 
struct zfcp_fsf_reqzfcp_fsf_abort_fcp_cmnd (struct scsi_cmnd *scmnd)
 
int zfcp_fsf_send_ct (struct zfcp_fc_wka_port *wka_port, struct zfcp_fsf_ct_els *ct, mempool_t *pool, unsigned int timeout)
 
int zfcp_fsf_send_els (struct zfcp_adapter *adapter, u32 d_id, struct zfcp_fsf_ct_els *els, unsigned int timeout)
 
int zfcp_fsf_exchange_config_data (struct zfcp_erp_action *erp_action)
 
int zfcp_fsf_exchange_config_data_sync (struct zfcp_qdio *qdio, struct fsf_qtcb_bottom_config *data)
 
int zfcp_fsf_exchange_port_data (struct zfcp_erp_action *erp_action)
 
int zfcp_fsf_exchange_port_data_sync (struct zfcp_qdio *qdio, struct fsf_qtcb_bottom_port *data)
 
int zfcp_fsf_open_port (struct zfcp_erp_action *erp_action)
 
int zfcp_fsf_close_port (struct zfcp_erp_action *erp_action)
 
int zfcp_fsf_open_wka_port (struct zfcp_fc_wka_port *wka_port)
 
int zfcp_fsf_close_wka_port (struct zfcp_fc_wka_port *wka_port)
 
int zfcp_fsf_close_physical_port (struct zfcp_erp_action *erp_action)
 
int zfcp_fsf_open_lun (struct zfcp_erp_action *erp_action)
 
int zfcp_fsf_close_lun (struct zfcp_erp_action *erp_action)
 
int zfcp_fsf_fcp_cmnd (struct scsi_cmnd *scsi_cmnd)
 
struct zfcp_fsf_reqzfcp_fsf_fcp_task_mgmt (struct scsi_cmnd *scmnd, u8 tm_flags)
 
struct zfcp_fsf_reqzfcp_fsf_control_file (struct zfcp_adapter *adapter, struct zfcp_fsf_cfdc *fsf_cfdc)
 
void zfcp_fsf_reqid_check (struct zfcp_qdio *qdio, int sbal_idx)
 
struct zfcp_fsf_reqzfcp_fsf_get_req (struct zfcp_qdio *qdio, struct qdio_buffer *sbal)
 

Variables

struct kmem_cachezfcp_fsf_qtcb_cache
 

Macro Definition Documentation

#define KMSG_COMPONENT   "zfcp"

Definition at line 9 of file zfcp_fsf.c.

#define pr_fmt (   fmt)    KMSG_COMPONENT ": " fmt

Definition at line 10 of file zfcp_fsf.c.

#define ZFCP_FSF_PORTSPEED_10GBIT   (1 << 3)

Definition at line 443 of file zfcp_fsf.c.

#define ZFCP_FSF_PORTSPEED_16GBIT   (1 << 5)

Definition at line 445 of file zfcp_fsf.c.

#define ZFCP_FSF_PORTSPEED_1GBIT   (1 << 0)

Definition at line 440 of file zfcp_fsf.c.

#define ZFCP_FSF_PORTSPEED_2GBIT   (1 << 1)

Definition at line 441 of file zfcp_fsf.c.

#define ZFCP_FSF_PORTSPEED_4GBIT   (1 << 2)

Definition at line 442 of file zfcp_fsf.c.

#define ZFCP_FSF_PORTSPEED_8GBIT   (1 << 4)

Definition at line 444 of file zfcp_fsf.c.

#define ZFCP_FSF_PORTSPEED_NOT_NEGOTIATED   (1 << 15)

Definition at line 446 of file zfcp_fsf.c.

Function Documentation

struct zfcp_fsf_req* zfcp_fsf_abort_fcp_cmnd ( struct scsi_cmnd scmnd)
read

zfcp_fsf_abort_fcp_cmnd - abort running SCSI command : The SCSI command to abort Returns: pointer to struct zfcp_fsf_req

Definition at line 864 of file zfcp_fsf.c.

int zfcp_fsf_close_lun ( struct zfcp_erp_action erp_action)

zfcp_fsf_close_LUN - close LUN : pointer to erp_action triggering the "close LUN" Returns: 0 on success, error otherwise

Definition at line 1937 of file zfcp_fsf.c.

int zfcp_fsf_close_physical_port ( struct zfcp_erp_action erp_action)

zfcp_fsf_close_physical_port - close physical port : pointer to struct zfcp_erp_action Returns: 0 on success

Definition at line 1731 of file zfcp_fsf.c.

int zfcp_fsf_close_port ( struct zfcp_erp_action erp_action)

zfcp_fsf_close_port - create and send close port request : pointer to struct zfcp_erp_action Returns: 0 on success, error otherwise

Definition at line 1511 of file zfcp_fsf.c.

int zfcp_fsf_close_wka_port ( struct zfcp_fc_wka_port *  wka_port)

zfcp_fsf_close_wka_port - create and send close wka port request : WKA port to open Returns: 0 on success, error otherwise

Definition at line 1639 of file zfcp_fsf.c.

struct zfcp_fsf_req* zfcp_fsf_control_file ( struct zfcp_adapter adapter,
struct zfcp_fsf_cfdc fsf_cfdc 
)
read

zfcp_fsf_control_file - control file upload/download : pointer to struct zfcp_adapter : pointer to struct zfcp_fsf_cfdc Returns: on success pointer to struct zfcp_fsf_req, NULL otherwise

Definition at line 2378 of file zfcp_fsf.c.

int zfcp_fsf_exchange_config_data ( struct zfcp_erp_action erp_action)

Definition at line 1189 of file zfcp_fsf.c.

int zfcp_fsf_exchange_config_data_sync ( struct zfcp_qdio qdio,
struct fsf_qtcb_bottom_config data 
)

Definition at line 1231 of file zfcp_fsf.c.

int zfcp_fsf_exchange_port_data ( struct zfcp_erp_action erp_action)

zfcp_fsf_exchange_port_data - request information about local port : ERP action for the adapter for which port data is requested Returns: 0 on success, error otherwise

Definition at line 1280 of file zfcp_fsf.c.

int zfcp_fsf_exchange_port_data_sync ( struct zfcp_qdio qdio,
struct fsf_qtcb_bottom_port data 
)

zfcp_fsf_exchange_port_data_sync - request information about local port : pointer to struct zfcp_qdio : pointer to struct fsf_qtcb_bottom_port Returns: 0 on success, error otherwise

Definition at line 1326 of file zfcp_fsf.c.

int zfcp_fsf_fcp_cmnd ( struct scsi_cmnd scsi_cmnd)

zfcp_fsf_fcp_cmnd - initiate an FCP command (for a SCSI command) : scsi command to be sent

Definition at line 2208 of file zfcp_fsf.c.

struct zfcp_fsf_req* zfcp_fsf_fcp_task_mgmt ( struct scsi_cmnd scmnd,
u8  tm_flags 
)
read

zfcp_fsf_fcp_task_mgmt - send SCSI task management command : SCSI command to send the task management command for : unsigned byte for task management flags Returns: on success pointer to struct fsf_req, NULL otherwise

Definition at line 2319 of file zfcp_fsf.c.

struct zfcp_fsf_req* zfcp_fsf_get_req ( struct zfcp_qdio qdio,
struct qdio_buffer sbal 
)
read

Definition at line 2479 of file zfcp_fsf.c.

int zfcp_fsf_open_lun ( struct zfcp_erp_action erp_action)

zfcp_fsf_open_lun - open LUN : pointer to struct zfcp_erp_action Returns: 0 on success, error otherwise

Definition at line 1846 of file zfcp_fsf.c.

int zfcp_fsf_open_port ( struct zfcp_erp_action erp_action)

zfcp_fsf_open_port - create and send open port request : pointer to struct zfcp_erp_action Returns: 0 on success, error otherwise

Definition at line 1444 of file zfcp_fsf.c.

int zfcp_fsf_open_wka_port ( struct zfcp_fc_wka_port *  wka_port)

zfcp_fsf_open_wka_port - create and send open wka-port request : pointer to struct zfcp_fc_wka_port Returns: 0 on success, error otherwise

Definition at line 1586 of file zfcp_fsf.c.

void zfcp_fsf_req_dismiss_all ( struct zfcp_adapter adapter)

zfcp_fsf_req_dismiss_all - dismiss all fsf requests : pointer to struct zfcp_adapter

Never ever call this without shutting down the adapter first. Otherwise the adapter would continue using and corrupting s390 storage. Included BUG_ON() call to ensure this is done. ERP is supposed to be the only user of this function.

Definition at line 425 of file zfcp_fsf.c.

void zfcp_fsf_req_free ( struct zfcp_fsf_req req)

zfcp_fsf_req_free - free memory used by fsf request : pointer to struct zfcp_fsf_req

Definition at line 78 of file zfcp_fsf.c.

void zfcp_fsf_reqid_check ( struct zfcp_qdio qdio,
int  sbal_idx 
)

zfcp_fsf_reqid_check - validate req_id contained in SBAL returned by QDIO : pointer to struct zfcp_adapter : response queue index of SBAL to be processed

Definition at line 2446 of file zfcp_fsf.c.

int zfcp_fsf_send_ct ( struct zfcp_fc_wka_port *  wka_port,
struct zfcp_fsf_ct_els ct,
mempool_t pool,
unsigned int  timeout 
)

zfcp_fsf_send_ct - initiate a Generic Service request (FC-GS) : pointer to struct zfcp_send_ct with data for request : if non-null this mempool is used to allocate struct zfcp_fsf_req

Definition at line 1042 of file zfcp_fsf.c.

int zfcp_fsf_send_els ( struct zfcp_adapter adapter,
u32  d_id,
struct zfcp_fsf_ct_els els,
unsigned int  timeout 
)

zfcp_fsf_send_els - initiate an ELS command (FC-FS) : pointer to struct zfcp_send_els with data for the command

Definition at line 1141 of file zfcp_fsf.c.

int zfcp_fsf_status_read ( struct zfcp_qdio qdio)

zfcp_fsf_status_read - send status read request : pointer to struct zfcp_adapter : request flags Returns: 0 on success, ERROR otherwise

Definition at line 753 of file zfcp_fsf.c.

Variable Documentation

struct kmem_cache* zfcp_fsf_qtcb_cache

Definition at line 21 of file zfcp_fsf.c.