Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 101544
b: refs/heads/master
c: 553448f
h: refs/heads/master
v: v3
  • Loading branch information
Christof Schmitt authored and James Bottomley committed Jul 12, 2008
1 parent dea4dd1 commit e4fe875
Show file tree
Hide file tree
Showing 14 changed files with 397 additions and 1,976 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 00bab91066a49468bfa4f6d5c8ad5e9ec53b7ea3
refs/heads/master: 553448f6c4838a1e4bed2bc9301c748278d7d9ce
2 changes: 1 addition & 1 deletion trunk/drivers/s390/scsi/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@

zfcp-objs := zfcp_aux.o zfcp_ccw.o zfcp_scsi.o zfcp_erp.o zfcp_qdio.o \
zfcp_fsf.o zfcp_dbf.o zfcp_sysfs_adapter.o zfcp_sysfs_port.o \
zfcp_sysfs_unit.o zfcp_sysfs_driver.o zfcp_fc.o zfcp_cfdc.o
zfcp_sysfs_unit.o zfcp_fc.o zfcp_cfdc.o

obj-$(CONFIG_ZFCP) += zfcp.o
75 changes: 21 additions & 54 deletions trunk/drivers/s390/scsi/zfcp_aux.c
Original file line number Diff line number Diff line change
@@ -1,22 +1,9 @@
/*
* This file is part of the zfcp device driver for
* FCP adapters for IBM System z9 and zSeries.
* zfcp device driver
*
* (C) Copyright IBM Corp. 2002, 2006
* Module interface and handling of zfcp data structures.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
* Copyright IBM Corporation 2002, 2008
*/

/*
Expand All @@ -31,13 +18,16 @@
* Maxim Shchetynin
* Volker Sameske
* Ralph Wuerthner
* Michael Loehr
* Swen Schillig
* Christof Schmitt
* Martin Petermann
* Sven Schuetz
*/

#include <linux/miscdevice.h>
#include "zfcp_ext.h"

/* accumulated log level (module parameter) */
static u32 loglevel = ZFCP_LOG_LEVEL_DEFAULTS;
static char *device;
/*********************** FUNCTION PROTOTYPES *********************************/

Expand All @@ -57,12 +47,6 @@ MODULE_LICENSE("GPL");
module_param(device, charp, 0400);
MODULE_PARM_DESC(device, "specify initial device");

module_param(loglevel, uint, 0400);
MODULE_PARM_DESC(loglevel,
"log levels, 8 nibbles: "
"FC ERP QDIO CIO Config FSF SCSI Other, "
"levels: 0=none 1=normal 2=devel 3=trace");

/****************************************************************/
/************** Functions without logging ***********************/
/****************************************************************/
Expand All @@ -87,8 +71,6 @@ _zfcp_hex_dump(char *addr, int count)
/****** Functions to handle the request ID hash table ********/
/****************************************************************/

#define ZFCP_LOG_AREA ZFCP_LOG_AREA_FSF

static int zfcp_reqlist_alloc(struct zfcp_adapter *adapter)
{
int idx;
Expand Down Expand Up @@ -118,14 +100,10 @@ int zfcp_reqlist_isempty(struct zfcp_adapter *adapter)
return 1;
}

#undef ZFCP_LOG_AREA

/****************************************************************/
/************** Uncategorised Functions *************************/
/****************************************************************/

#define ZFCP_LOG_AREA ZFCP_LOG_AREA_OTHER

/**
* zfcp_device_setup - setup function
* @str: pointer to parameter string
Expand All @@ -143,8 +121,11 @@ zfcp_device_setup(char *devstr)

len = strlen(devstr) + 1;
str = kmalloc(len, GFP_KERNEL);
if (!str)
goto err_out;
if (!str) {
pr_err("zfcp: Could not allocate memory for "
"device parameter string, device not attached.\n");
return 0;
}
memcpy(str, devstr, len);

tmp = strchr(str, ',');
Expand All @@ -167,7 +148,8 @@ zfcp_device_setup(char *devstr)
return 1;

err_out:
ZFCP_LOG_NORMAL("Parse error for device parameter string %s\n", str);
pr_err("zfcp: Parse error for device parameter string %s, "
"device not attached.\n", str);
kfree(str);
return 0;
}
Expand Down Expand Up @@ -248,8 +230,6 @@ zfcp_module_init(void)
if (!zfcp_data.gid_pn_cache)
goto out_gid_cache;

atomic_set(&zfcp_data.loglevel, loglevel);

/* initialize adapter list */
INIT_LIST_HEAD(&zfcp_data.adapter_list_head);

Expand All @@ -263,8 +243,7 @@ zfcp_module_init(void)

retval = misc_register(&zfcp_cfdc_misc);
if (retval != 0) {
ZFCP_LOG_INFO("registration of misc device "
"zfcp_cfdc failed\n");
pr_err("zfcp: registration of misc device zfcp_cfdc failed\n");
goto out_misc;
}

Expand All @@ -277,7 +256,7 @@ zfcp_module_init(void)
/* setup dynamic I/O */
retval = zfcp_ccw_register();
if (retval) {
ZFCP_LOG_NORMAL("registration with common I/O layer failed\n");
pr_err("zfcp: Registration with common I/O layer failed.\n");
goto out_ccw_register;
}

Expand All @@ -300,14 +279,10 @@ zfcp_module_init(void)
return retval;
}

#undef ZFCP_LOG_AREA

/****************************************************************/
/****** Functions for configuration/set-up of structures ********/
/****************************************************************/

#define ZFCP_LOG_AREA ZFCP_LOG_AREA_CONFIG

/**
* zfcp_get_unit_by_lun - find unit in unit list of port by FCP LUN
* @port: pointer to port to search for unit
Expand Down Expand Up @@ -598,6 +573,8 @@ static void _zfcp_status_read_scheduler(struct work_struct *work)
* All adapter internal structures are set up.
* Proc-fs entries are also created.
*
* FIXME: Use -ENOMEM as return code for allocation failures
*
* returns: 0 if a new adapter was successfully enqueued
* ZFCP_KNOWN if an adapter with this devno was already present
* -ENOMEM if alloc failed
Expand All @@ -615,11 +592,8 @@ zfcp_adapter_enqueue(struct ccw_device *ccw_device)

/* try to allocate new adapter data structure (zeroed) */
adapter = kzalloc(sizeof (struct zfcp_adapter), GFP_KERNEL);
if (!adapter) {
ZFCP_LOG_INFO("error: allocation of base adapter "
"structure failed\n");
if (!adapter)
goto out;
}

ccw_device->handler = NULL;

Expand Down Expand Up @@ -760,7 +734,6 @@ zfcp_adapter_dequeue(struct zfcp_adapter *adapter)
zfcp_reqlist_free(adapter);
kfree(adapter->fc_stats);
kfree(adapter->stats_reset_data);
ZFCP_LOG_TRACE("freeing adapter structure\n");
kfree(adapter);
out:
return;
Expand Down Expand Up @@ -908,12 +881,8 @@ zfcp_nameserver_enqueue(struct zfcp_adapter *adapter)

port = zfcp_port_enqueue(adapter, 0, ZFCP_STATUS_PORT_WKA,
ZFCP_DID_DIRECTORY_SERVICE);
if (!port) {
ZFCP_LOG_INFO("error: enqueue of nameserver port for "
"adapter %s failed\n",
zfcp_get_busid_by_adapter(adapter));
if (!port)
return -ENXIO;
}
zfcp_port_put(port);

return 0;
Expand Down Expand Up @@ -946,5 +915,3 @@ int zfcp_sg_setup_table(struct scatterlist *sg, int count)
}
return 0;
}

#undef ZFCP_LOG_AREA
41 changes: 12 additions & 29 deletions trunk/drivers/s390/scsi/zfcp_dbf.c
Original file line number Diff line number Diff line change
@@ -1,22 +1,9 @@
/*
* This file is part of the zfcp device driver for
* FCP adapters for IBM System z9 and zSeries.
* zfcp device driver
*
* (C) Copyright IBM Corp. 2002, 2006
* Debug traces for zfcp.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
* Copyright IBM Corporation 2002, 2008
*/

#include <linux/ctype.h>
Expand All @@ -29,8 +16,6 @@ module_param(dbfsize, uint, 0400);
MODULE_PARM_DESC(dbfsize,
"number of pages for each debug feature area (default 4)");

#define ZFCP_LOG_AREA ZFCP_LOG_AREA_OTHER

static void zfcp_dbf_hexdump(debug_info_t *dbf, void *to, int to_len,
int level, char *from, int from_len)
{
Expand Down Expand Up @@ -515,13 +500,13 @@ static const char *zfcp_rec_dbf_ids[] = {
[52] = "port boxed close unit",
[53] = "port boxed fcp",
[54] = "unit boxed fcp",
[55] = "port access denied ct",
[56] = "port access denied els",
[57] = "port access denied open port",
[58] = "port access denied close physical",
[59] = "unit access denied open unit",
[55] = "port access denied",
[56] = "",
[57] = "",
[58] = "",
[59] = "unit access denied",
[60] = "shared unit access denied open unit",
[61] = "unit access denied fcp",
[61] = "",
[62] = "request timeout",
[63] = "adisc link test reject or timeout",
[64] = "adisc link test d_id changed",
Expand Down Expand Up @@ -586,16 +571,16 @@ static const char *zfcp_rec_dbf_ids[] = {
[120] = "unknown fsf command",
[121] = "no recommendation for status qualifier",
[122] = "status read physical port closed in error",
[123] = "fc service class not supported ct",
[124] = "fc service class not supported els",
[123] = "fc service class not supported",
[124] = "",
[125] = "need newer zfcp",
[126] = "need newer microcode",
[127] = "arbitrated loop not supported",
[128] = "unknown topology",
[129] = "qtcb size mismatch",
[130] = "unknown fsf status ecd",
[131] = "fcp request too big",
[132] = "fc service class not supported fcp",
[132] = "",
[133] = "data direction not valid fcp",
[134] = "command length not valid fcp",
[135] = "status read act update",
Expand Down Expand Up @@ -1291,5 +1276,3 @@ void zfcp_adapter_debug_unregister(struct zfcp_adapter *adapter)
adapter->hba_dbf = NULL;
adapter->rec_dbf = NULL;
}

#undef ZFCP_LOG_AREA
Loading

0 comments on commit e4fe875

Please sign in to comment.