8630 lines
287 KiB
Diff
8630 lines
287 KiB
Diff
|
From: Gerald Schaefer <geraldsc@de.ibm.com>
|
||
|
Subject: Kernel message catalog.
|
||
|
Patch-mainline: Probably never
|
||
|
References: bnc#549193,FATE#306999,LTC#57210
|
||
|
Patch-mainline: not yet
|
||
|
|
||
|
Description: Add support for automatic message tags to the printk macro
|
||
|
families dev_xyz and pr_xyz. The message tag consists of a
|
||
|
component name and a 24 bit hash of the message text. For
|
||
|
each message that is documented in the included kernel message
|
||
|
catalog a man page can be created with a script (which is
|
||
|
included in the patch). The generated man pages contain
|
||
|
explanatory text that is intended to help understand the
|
||
|
messages.
|
||
|
|
||
|
Note that only s390 specific messages are prepared
|
||
|
appropriately and included in the generated message catalog.
|
||
|
|
||
|
This patch is optional as it is very unlikely to be accepted
|
||
|
in upstream kernel, but is recommended for all distributions
|
||
|
which are built based on the 'Development stream'
|
||
|
|
||
|
Acked-by: John Jolly <jjolly@suse.de>
|
||
|
---
|
||
|
|
||
|
Documentation/kmsg/s390/aes_s390 | 30
|
||
|
Documentation/kmsg/s390/af_iucv | 33
|
||
|
Documentation/kmsg/s390/ap | 47
|
||
|
Documentation/kmsg/s390/appldata | 88 +
|
||
|
Documentation/kmsg/s390/cio | 145 ++
|
||
|
Documentation/kmsg/s390/claw | 731 +++++++++++++
|
||
|
Documentation/kmsg/s390/cpcmd | 17
|
||
|
Documentation/kmsg/s390/cpu | 69 +
|
||
|
Documentation/kmsg/s390/ctcm | 199 +++
|
||
|
Documentation/kmsg/s390/dasd | 466 ++++++++
|
||
|
Documentation/kmsg/s390/dasd-diag | 118 ++
|
||
|
Documentation/kmsg/s390/dasd-eckd | 1901 ++++++++++++++++++++++++++++++++++++
|
||
|
Documentation/kmsg/s390/dasd-fba | 30
|
||
|
Documentation/kmsg/s390/dcssblk | 192 +++
|
||
|
Documentation/kmsg/s390/extmem | 290 +++++
|
||
|
Documentation/kmsg/s390/hvc_iucv | 122 ++
|
||
|
Documentation/kmsg/s390/hypfs | 56 +
|
||
|
Documentation/kmsg/s390/iucv | 33
|
||
|
Documentation/kmsg/s390/lcs | 161 +++
|
||
|
Documentation/kmsg/s390/monreader | 127 ++
|
||
|
Documentation/kmsg/s390/monwriter | 16
|
||
|
Documentation/kmsg/s390/netiucv | 139 ++
|
||
|
Documentation/kmsg/s390/qeth | 606 +++++++++++
|
||
|
Documentation/kmsg/s390/s390dbf | 83 +
|
||
|
Documentation/kmsg/s390/sclp_cmd | 16
|
||
|
Documentation/kmsg/s390/sclp_config | 3
|
||
|
Documentation/kmsg/s390/sclp_cpi | 2
|
||
|
Documentation/kmsg/s390/sclp_sdias | 4
|
||
|
Documentation/kmsg/s390/setup | 181 +++
|
||
|
Documentation/kmsg/s390/tape | 104 +
|
||
|
Documentation/kmsg/s390/tape_34xx | 418 +++++++
|
||
|
Documentation/kmsg/s390/tape_3590 | 184 +++
|
||
|
Documentation/kmsg/s390/time | 36
|
||
|
Documentation/kmsg/s390/vmcp | 13
|
||
|
Documentation/kmsg/s390/vmlogrdr | 18
|
||
|
Documentation/kmsg/s390/vmur | 47
|
||
|
Documentation/kmsg/s390/vmwatchdog | 26
|
||
|
Documentation/kmsg/s390/xpram | 73 +
|
||
|
Documentation/kmsg/s390/zdump | 12
|
||
|
Documentation/kmsg/s390/zfcp | 865 ++++++++++++++++
|
||
|
Makefile | 16
|
||
|
arch/s390/Kconfig | 8
|
||
|
include/linux/device.h | 34
|
||
|
include/linux/kernel.h | 35
|
||
|
kernel/printk.c | 45
|
||
|
scripts/Makefile.build | 14
|
||
|
scripts/kmsg-doc | 479 +++++++++
|
||
|
47 files changed, 8317 insertions(+), 15 deletions(-)
|
||
|
|
||
|
--- /dev/null
|
||
|
+++ b/Documentation/kmsg/s390/aes_s390
|
||
|
@@ -0,0 +1,30 @@
|
||
|
+/*?
|
||
|
+ * Text: "Allocating AES fallback algorithm %s failed\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: algorithm name
|
||
|
+ * Description:
|
||
|
+ * The advanced encryption standard (AES) algorithm includes three modes with
|
||
|
+ * 128-bit, 192-bit, and 256-bit keys. Your hardware system only provides
|
||
|
+ * hardware acceleration for the 128-bit mode. The aes_s390 module failed to
|
||
|
+ * allocate a software fallback for the AES modes that are not supported by the
|
||
|
+ * hardware. A possible reason for this problem is that the aes_generic module
|
||
|
+ * that provides the fallback algorithms is not available.
|
||
|
+ * User action:
|
||
|
+ * Use the 128-bit mode only or ensure that the aes_generic module is available
|
||
|
+ * and loaded and reload the aes_s390 module.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "AES hardware acceleration is only available for 128-bit keys\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Description:
|
||
|
+ * The advanced encryption standard (AES) algorithm includes three modes with
|
||
|
+ * 128-bit, 192-bit, and 256-bit keys. Your hardware system only provides
|
||
|
+ * hardware acceleration for the 128-bit key mode. The aes_s390 module
|
||
|
+ * will use the less performant software fallback algorithm for the 192-bit
|
||
|
+ * and 256-bit key modes.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
--- /dev/null
|
||
|
+++ b/Documentation/kmsg/s390/af_iucv
|
||
|
@@ -0,0 +1,33 @@
|
||
|
+/*?
|
||
|
+ * Text: "Application %s on z/VM guest %s exceeds message limit\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: application name
|
||
|
+ * @2: z/VM user ID
|
||
|
+ * Description:
|
||
|
+ * Messages or packets destined for the application have accumulated and
|
||
|
+ * reached the maximum value. The default for the message limit is 65535.
|
||
|
+ * You can specify a different limit as the value for MSGLIMIT within
|
||
|
+ * the IUCV statement of the z/VM virtual machine on which the application
|
||
|
+ * runs.
|
||
|
+ * User action:
|
||
|
+ * Ensure that you do not send data faster than the application retrieves
|
||
|
+ * them. Ensure that the message limit on the z/VM guest virtual machine
|
||
|
+ * on which the application runs is high enough.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "The af_iucv module cannot be loaded without z/VM\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Description:
|
||
|
+ * The AF_IUCV protocol connects socket applications running in Linux
|
||
|
+ * kernels on different z/VM virtual machines, or it connects a Linux
|
||
|
+ * application to another sockets application running in a z/VM virtual
|
||
|
+ * machine. On Linux instances that run in environments other than the
|
||
|
+ * z/VM hypervisor, the AF_IUCV protocol does not provide any useful
|
||
|
+ * function and the corresponding af_iucv module cannot be loaded.
|
||
|
+ * User action:
|
||
|
+ * Load the af_iucv module only on Linux instances that run as guest
|
||
|
+ * operating systems of the z/VM hypervisor. If the module has been
|
||
|
+ * compiled into the kernel, ignore this message.
|
||
|
+ */
|
||
|
--- /dev/null
|
||
|
+++ b/Documentation/kmsg/s390/ap
|
||
|
@@ -0,0 +1,47 @@
|
||
|
+/*?
|
||
|
+ * Text: "%d is not a valid cryptographic domain\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: AP domain index
|
||
|
+ * Description:
|
||
|
+ * The cryptographic domain specified for the 'domain=' module or kernel
|
||
|
+ * parameter must be an integer in the range 0 to 15.
|
||
|
+ * User action:
|
||
|
+ * Reload the cryptographic device driver with a correct module parameter.
|
||
|
+ * If the device driver has been compiled into the kernel, correct the value
|
||
|
+ * in the kernel parameter line and reboot Linux.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "The hardware system does not support AP instructions\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Description:
|
||
|
+ * The ap module addresses AP adapters through AP instructions. The hardware
|
||
|
+ * system on which the Linux instance runs does not support AP instructions.
|
||
|
+ * The ap module cannot detect any AP adapters.
|
||
|
+ * User action:
|
||
|
+ * Load the ap module only if your Linux instance runs on hardware that
|
||
|
+ * supports AP instructions. If the ap module has been compiled into the kernel,
|
||
|
+ * ignore this message.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Registering adapter interrupts for AP %d failed\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: AP device ID
|
||
|
+ * Description:
|
||
|
+ * The hardware system supports AP adapter interrupts but failed to enable
|
||
|
+ * an adapter for interrupts. Possible causes for this error are:
|
||
|
+ * i) The AP adapter firmware does not support AP interrupts.
|
||
|
+ * ii) An AP adapter firmware update to a firmware level that supports AP
|
||
|
+ * adapter interrupts failed.
|
||
|
+ * iii) The AP adapter firmware has been successfully updated to a level that
|
||
|
+ * supports AP interrupts but the new firmware has not been activated.
|
||
|
+ * User action:
|
||
|
+ * Ensure that the firmware on your AP adapters support AP interrupts and that
|
||
|
+ * any firmware updates have completed successfully. If necessary, deconfigure
|
||
|
+ * your cryptographic adapters and reconfigure them to ensure that any firmware
|
||
|
+ * updates become active, then reload the ap module. If the ap module has been
|
||
|
+ * compiled into the kernel, reboot Linux.
|
||
|
+ */
|
||
|
--- /dev/null
|
||
|
+++ b/Documentation/kmsg/s390/appldata
|
||
|
@@ -0,0 +1,88 @@
|
||
|
+/*?
|
||
|
+ * Text: "Starting the data collection for %s failed with rc=%d\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: appldata module
|
||
|
+ * @2: return code
|
||
|
+ * Description:
|
||
|
+ * The specified data collection module used the z/VM diagnose call
|
||
|
+ * DIAG 0xDC to start writing data. z/VM returned an error and the data
|
||
|
+ * collection could not start. If the return code is 5, your z/VM guest
|
||
|
+ * virtual machine is not authorized to write data records.
|
||
|
+ * User action:
|
||
|
+ * If the return code is 5, ensure that your z/VM guest virtual machine's
|
||
|
+ * entry in the z/VM directory includes the OPTION APPLMON statement.
|
||
|
+ * For other return codes see the section about DIAGNOSE Code X'DC'
|
||
|
+ * in "z/VM CP Programming Services".
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Stopping the data collection for %s failed with rc=%d\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: appldata module
|
||
|
+ * @2: return code
|
||
|
+ * Description:
|
||
|
+ * The specified data collection module used the z/VM diagnose call DIAG 0xDC
|
||
|
+ * to stop writing data. z/VM returned an error and the data collection
|
||
|
+ * continues.
|
||
|
+ * User action:
|
||
|
+ * See the section about DIAGNOSE Code X'DC' in "z/VM CP Programming Services".
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Starting a new OS data collection failed with rc=%d\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: return code
|
||
|
+ * Description:
|
||
|
+ * After a CPU hotplug event, the record size for the running operating
|
||
|
+ * system data collection is no longer correct. The appldata_os module tried
|
||
|
+ * to start a new data collection with the correct record size but received
|
||
|
+ * an error from the z/VM diagnose call DIAG 0xDC. Any data collected with
|
||
|
+ * the current record size might be faulty.
|
||
|
+ * User action:
|
||
|
+ * Start a new data collection with the cappldata_os module. For information
|
||
|
+ * about starting data collections see "Device Drivers, Features, and
|
||
|
+ * Commands". For information about the return codes see the section about
|
||
|
+ * DIAGNOSE Code X'DC' in "z/VM CP Programming Services".
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Stopping a faulty OS data collection failed with rc=%d\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: return code
|
||
|
+ * Description:
|
||
|
+ * After a CPU hotplug event, the record size for the running operating
|
||
|
+ * system data collection is no longer correct. The appldata_os module tried
|
||
|
+ * to stop the faulty data collection but received an error from the z/VM
|
||
|
+ * diagnose call DIAG 0xDC. Any data collected with the current record size
|
||
|
+ * might be faulty.
|
||
|
+ * User action:
|
||
|
+ * Try to restart appldata_os monitoring. For information about stopping
|
||
|
+ * and starting data collections see "Device Drivers, Features, and
|
||
|
+ * Commands". For information about the return codes see the section about
|
||
|
+ * DIAGNOSE Code X'DC' in "z/VM CP Programming Services".
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Maximum OS record size %i exceeds the maximum record size %i\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: no of bytes
|
||
|
+ * @2: no of bytes
|
||
|
+ * Description:
|
||
|
+ * The OS record size grows with the number of CPUs and is adjusted by the
|
||
|
+ * appldata_os module in response to CPU hotplug events. For more than 110
|
||
|
+ * CPUs the record size would exceed the maximum record size of 4024 bytes
|
||
|
+ * that is supported by the z/VM hypervisor. To prevent the maximum supported
|
||
|
+ * record size from being exceeded while data collection is in progress,
|
||
|
+ * you cannot load the appldata_os module on Linux instances that are
|
||
|
+ * configured for a maximum of more than 110 CPUs.
|
||
|
+ * User action:
|
||
|
+ * If you do not want to collect operating system data, you can ignore this
|
||
|
+ * message. If you want to collect operating system data, reconfigure your
|
||
|
+ * Linux instance to support less than 110 CPUs.
|
||
|
+ */
|
||
|
+
|
||
|
--- /dev/null
|
||
|
+++ b/Documentation/kmsg/s390/cio
|
||
|
@@ -0,0 +1,145 @@
|
||
|
+/*?
|
||
|
+ * Text: "%s is not a valid device for the cio_ignore kernel parameter\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: device bus-ID
|
||
|
+ * Description:
|
||
|
+ * The device specification for the cio_ignore kernel parameter is
|
||
|
+ * syntactically incorrect or specifies an unknown device. This device is not
|
||
|
+ * excluded from being sensed and analyzed.
|
||
|
+ * User action:
|
||
|
+ * Correct your device specification in the kernel parameter line to have the
|
||
|
+ * device excluded when you next reboot Linux. You can write the correct
|
||
|
+ * device specification to /proc/cio_ignore to add the device to the list of
|
||
|
+ * devices to be excluded. This does not immediately make the device
|
||
|
+ * inaccessible but the device is ignored if it disappears and later reappears.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "0.%x.%04x to 0.%x.%04x is not a valid range for cio_ignore\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: from subchannel set ID
|
||
|
+ * @2: from device number
|
||
|
+ * @3: to subchannel set ID
|
||
|
+ * @4: to device number
|
||
|
+ * Description:
|
||
|
+ * The device range specified for the cio_ignore kernel parameter is
|
||
|
+ * syntactically incorrect. No devices specified with this range are
|
||
|
+ * excluded from being sensed and analyzed.
|
||
|
+ * User action:
|
||
|
+ * Correct your range specification in the kernel parameter line to have the
|
||
|
+ * range of devices excluded when you next reboot Linux. You can write the
|
||
|
+ * correct range specification to /proc/cio_ignore to add the range of devices
|
||
|
+ * to the list of devices to be excluded. This does not immediately make the
|
||
|
+ * devices in the range inaccessible but any of these devices are ignored if
|
||
|
+ * they disappear and later reappear.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Processing %s for channel path %x.%02x\n"
|
||
|
+ * Severity: Notice
|
||
|
+ * Parameter:
|
||
|
+ * @1: configuration change
|
||
|
+ * @2: channel subsystem ID
|
||
|
+ * @3: CHPID
|
||
|
+ * Description:
|
||
|
+ * A configuration change is in progress for the given channel path.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "No CCW console was found\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Description:
|
||
|
+ * Linux did not find the expected CCW console and tries to use an alternative
|
||
|
+ * console. A possible reason why the console was not found is that the console
|
||
|
+ * has been specified in the cio_ignore list.
|
||
|
+ * User action:
|
||
|
+ * None, if an appropriate alternative console has been found, and you want
|
||
|
+ * to use this alternative console. If you want to use the CCW console, ensure
|
||
|
+ * that is not specified in the cio_ignore list, explicitly specify the console
|
||
|
+ * with the 'condev=' kernel parameter, and reboot Linux.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Channel measurement facility initialized using format %s (mode %s)\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: format
|
||
|
+ * @2: mode
|
||
|
+ * Description:
|
||
|
+ * The channel measurement facility has been initialized successfully.
|
||
|
+ * Format 'extended' should be used for z990 and later mainframe systems.
|
||
|
+ * Format 'basic' is intended for earlier mainframes. Mode 'autodetected' means
|
||
|
+ * that the format has been set automatically. Mode 'parameter' means that the
|
||
|
+ * format has been set according to the 'format=' kernel parameter.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "The CSS device driver initialization failed with errno=%d\n"
|
||
|
+ * Severity: Alert
|
||
|
+ * Parameter:
|
||
|
+ * @1: Return code
|
||
|
+ * Description:
|
||
|
+ * The channel subsystem bus could not be established.
|
||
|
+ * User action:
|
||
|
+ * See the errno man page to find out what caused the problem.
|
||
|
+ */
|
||
|
+ /*? Text: "%s: Got subchannel machine check but no sch_event handler provided.\n" */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Setting the device online failed because it is boxed\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: Device bus-ID
|
||
|
+ * Description:
|
||
|
+ * Initialization of a device did not complete because it did not respond in
|
||
|
+ * time or it was reserved by another operating system.
|
||
|
+ * User action:
|
||
|
+ * Make sure that the device is working correctly, then try again to set it
|
||
|
+ * online. For devices that support the reserve/release mechanism (for example
|
||
|
+ * DASDs), you can try to override the reservation of the other system by
|
||
|
+ * writing 'force' to the 'online' sysfs attribute of the affected device.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Setting the device online failed because it is not operational\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: Device bus-ID
|
||
|
+ * Description:
|
||
|
+ * Initialization of a device did not complete because it is not present or
|
||
|
+ * not operational.
|
||
|
+ * User action:
|
||
|
+ * Make sure that the device is present and working correctly, then try again
|
||
|
+ * to set it online.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The device stopped operating while being set offline\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: Device bus-ID
|
||
|
+ * Description:
|
||
|
+ * While the device was set offline, it was not present or not operational.
|
||
|
+ * The device is now inactive, but setting it online again might fail.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The device entered boxed state while being set offline\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: Device bus-ID
|
||
|
+ * Description:
|
||
|
+ * While the device was set offline, it did not respond in time or it was
|
||
|
+ * reserved by another operating system. The device is now inactive, but
|
||
|
+ * setting it online again might fail.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
--- /dev/null
|
||
|
+++ b/Documentation/kmsg/s390/claw
|
||
|
@@ -0,0 +1,731 @@
|
||
|
+/*?
|
||
|
+ * Text: "%s: Creating the /proc files for a new CLAW device failed\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the failed CLAW device
|
||
|
+ * Description:
|
||
|
+ * For each Common Link Access to Workstation (CLAW) device the CLAW device
|
||
|
+ * driver maintains files in the proc file system. The CLAW device driver
|
||
|
+ * failed to create a new CLAW device because it could not create these /proc
|
||
|
+ * files for the new device. You cannot create CLAW devices for Linux kernels
|
||
|
+ * that do not include a proc file system.
|
||
|
+ * User action:
|
||
|
+ * Ensure that your Linux kernel provides a proc file system. Reboot Linux.
|
||
|
+ * If your kernel provides a proc file system and the problem persists, contact
|
||
|
+ * your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: An uninitialized CLAW device received an IRQ, c-%02x d-%02x\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CLAW device
|
||
|
+ * @2: subchannel status
|
||
|
+ * @3: device status
|
||
|
+ * Description:
|
||
|
+ * A Common Link Access to Workstation (CLAW) device was not initialized when
|
||
|
+ * it received a channel interrupt (IRQ). The IRQ is ignored. This might be a
|
||
|
+ * temporary condition while the device comes online or is taken offline.
|
||
|
+ * User action:
|
||
|
+ * If this problem occurs frequently, use the status information from the
|
||
|
+ * message and the channel and device traces to analyze the problem. See
|
||
|
+ * "Principles of Operation" for details about of the status information.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The device is not a CLAW device\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the device
|
||
|
+ * Description:
|
||
|
+ * The Common Link Access to Workstation (CLAW) device driver received a
|
||
|
+ * channel interrupt (IRQ) for a subchannel that is not a CLAW read or write
|
||
|
+ * subchannel. A CLAW subchannel must be configured for a 3088 device of
|
||
|
+ * type x'61' and have an even bus ID.
|
||
|
+ * User action:
|
||
|
+ * Assure that the subchannels have been defined correctly to the real or
|
||
|
+ * virtual hardware, for example, in your IOCDS or in your z/VM configuration.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The CLAW device received an unexpected IRQ, c-%02x d-%02x\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CLAW device
|
||
|
+ * @2: subchannel status
|
||
|
+ * @3: device status
|
||
|
+ * Description:
|
||
|
+ * A Common Link Access to Workstation (CLAW) device received a channel
|
||
|
+ * interrupt (IRQ) while it was in a state in which it cannot process IRQs.
|
||
|
+ * The IRQ is ignored. This might be a temporary condition.
|
||
|
+ * User action:
|
||
|
+ * If this problem occurs frequently, use the status information from the
|
||
|
+ * message and the channel and device traces to analyze the problem. See
|
||
|
+ * "Principles of Operation" for details about the status information.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The CLAW device for %s received an unexpected IRQ\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CLAW device
|
||
|
+ * @2: network interface name
|
||
|
+ * Description:
|
||
|
+ * A Common Link Access to Workstation (CLAW) device received a channel
|
||
|
+ * interrupt (IRQ) while the CLAW device driver had assigned a status to the
|
||
|
+ * device in which it cannot process IRQs. The IRQ is ignored.
|
||
|
+ * User action:
|
||
|
+ * Restart the remote channel adapter. If the problem persists, use s390dbf
|
||
|
+ * traces and CCW traces to diagnose the problem.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Deactivating %s completed with incorrect subchannel status (read %02x, write %02x)\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CLAW device
|
||
|
+ * @2: network interface name
|
||
|
+ * @3: read subchannel status
|
||
|
+ * @4: write subchannel status
|
||
|
+ * Description:
|
||
|
+ * When the Common Link Access to Workstation (CLAW) device driver closes a
|
||
|
+ * CLAW device, the device driver frees all storage that is used for the
|
||
|
+ * device. A successful closing operation results in status DEVICE END and
|
||
|
+ * CHANNEL END for both the read and write subchannel. At least one of these
|
||
|
+ * statuses is missing for a subchannel. Data might have been lost and there
|
||
|
+ * might be problems when the network interface is activated again.
|
||
|
+ * User action:
|
||
|
+ * If the network interface cannot be activated, vary the subchannels for the
|
||
|
+ * device offline and back online, for example, with chchp. If this does not
|
||
|
+ * resolve the problem, reset the remote channel adapter.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The remote channel adapter is not available\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CLAW device
|
||
|
+ * Description:
|
||
|
+ * During an operation, the Common Link Access to Workstation (CLAW) device
|
||
|
+ * driver received errno ENODEV from the common I/O layer. This means that
|
||
|
+ * the remote channel adapter was not operational or offline.
|
||
|
+ * User action:
|
||
|
+ * Check the remote channel adapter and, if necessary, restart it.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The status of the remote channel adapter is not valid\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CLAW device
|
||
|
+ * Description:
|
||
|
+ * During an operation, the Common Link Access to Workstation (CLAW) device
|
||
|
+ * driver received errno EINVAL from the common I/O layer. This indicates
|
||
|
+ * that the remote channel adapter was offline or not operational.
|
||
|
+ * User action:
|
||
|
+ * Check for related error messages to find the cause of the problem. If
|
||
|
+ * necessary, restart the remote channel adapter.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The common device layer returned error code %d\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CLAW device
|
||
|
+ * @2: errno
|
||
|
+ * Description:
|
||
|
+ * During an I/O operation, the Common Link Access to Workstation (CLAW) device
|
||
|
+ * driver received an errno from the common I/O layer. This indicates a problem
|
||
|
+ * with the remote channel adapter.
|
||
|
+ * User action:
|
||
|
+ * See the errno man page to find out what the error code means. Check for
|
||
|
+ * related messages. Restart the remote channel adapter. If the problem
|
||
|
+ * persists, examine the subchannel trace for further diagnostic information.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The communication peer of %s disconnected\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CLAW device
|
||
|
+ * @2: network interface name
|
||
|
+ * Description:
|
||
|
+ * The Common Link Access to Workstation (CLAW) device driver received a device
|
||
|
+ * status word DEV_STAT_UNIT_CHECK and sense code 0x41. This indicates that the
|
||
|
+ * remote network interface is no longer available.
|
||
|
+ * User action:
|
||
|
+ * Ensure that the remote channel adapter is operational and activate the
|
||
|
+ * remote interface. For information about the sense code see
|
||
|
+ * /Documentation/s390/cds.txt in the Linux source tree. Search for 'SNS0' to
|
||
|
+ * locate the information.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The remote channel adapter for %s has been reset\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CLAW device
|
||
|
+ * @2: network interface name
|
||
|
+ * Description:
|
||
|
+ * The Common Link Access to Workstation (CLAW) device driver received a device
|
||
|
+ * status word DEV_STAT_UNIT_CHECK and sense code 0x40. This indicates that the
|
||
|
+ * remote channel adapter has been reset.
|
||
|
+ * User action:
|
||
|
+ * When the remote channel adapter is operational again, activate the remote
|
||
|
+ * interface. For information about the sense code see
|
||
|
+ * /Documentation/s390/cds.txt in the Linux source tree. Search for 'SNS0' to
|
||
|
+ * locate the information.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: A data streaming timeout occurred for %s\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CLAW device
|
||
|
+ * @2: network interface name
|
||
|
+ * Description:
|
||
|
+ * The Common Link Access to Workstation (CLAW) device driver received a device
|
||
|
+ * status word DEV_STAT_UNIT_CHECK and sense code 0x24. This indicates a data
|
||
|
+ * streaming timeout. The remote channel adapter or the channel might be
|
||
|
+ * faulty.
|
||
|
+ * User action:
|
||
|
+ * Restart the remote channel adapter and activate the remote interface. If the
|
||
|
+ * problem persists, examine the subchannel trace for further diagnostic
|
||
|
+ * information. For information about the sense code see
|
||
|
+ * /Documentation/s390/cds.txt in the Linux source tree. Search for 'SNS0' to
|
||
|
+ * locate the information.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: A data transfer parity error occurred for %s\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CLAW device
|
||
|
+ * @1: network interface name
|
||
|
+ * Description:
|
||
|
+ * The Common Link Access to Workstation (CLAW) device driver received a device
|
||
|
+ * status word DEV_STAT_UNIT_CHECK and sense code 0x20. This indicates a data
|
||
|
+ * parity error. The remote channel adapter or the channel might be faulty.
|
||
|
+ * User action:
|
||
|
+ * Ensure that all cables are securely plugged. Restart the remote channel
|
||
|
+ * adapter and activate the remote interface. If the problem persists, examine
|
||
|
+ * the subchannel trace for further diagnostic information. For information
|
||
|
+ * about the sense code see /Documentation/s390/cds.txt in the Linux source
|
||
|
+ * tree. Search for 'SNS0' to locate the information.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The remote channel adapter for %s is faulty\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CLAW device
|
||
|
+ * @2: network interface name
|
||
|
+ * Description:
|
||
|
+ * The Common Link Access to Workstation (CLAW) device driver received a device
|
||
|
+ * status word DEV_STAT_UNIT_CHECK and sense code 0x30. This indicates that the
|
||
|
+ * remote channel adapter is faulty.
|
||
|
+ * User action:
|
||
|
+ * Check and restart the remote channel adapter and activate the remote
|
||
|
+ * interface. If the problem persists, perform device diagnosis for the remote
|
||
|
+ * channel adapter and examine the subchannel trace for further diagnostic
|
||
|
+ * information. For information about the sense code see
|
||
|
+ * /Documentation/s390/cds.txt in the Linux source tree. Search for 'SNS0' to
|
||
|
+ * locate the information.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: A read data parity error occurred for %s\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CLAW device
|
||
|
+ * @2: network interface name
|
||
|
+ * Description:
|
||
|
+ * The Common Link Access to Workstation (CLAW) device driver received a device
|
||
|
+ * status word DEV_STAT_UNIT_CHECK and sense code 0x10. This indicates a read
|
||
|
+ * data parity error. The remote channel adapter might be faulty.
|
||
|
+ * User action:
|
||
|
+ * Ensure that all cables are securely plugged. Check and restart the remote
|
||
|
+ * channel adapter and activate the remote interface. If the problem persists,
|
||
|
+ * perform device diagnosis for the remote channel adapter and examine the
|
||
|
+ * subchannel trace for further diagnostic information. For information about
|
||
|
+ * the sense code see /Documentation/s390/cds.txt in the Linux source tree.
|
||
|
+ * Search for 'SNS0' to locate the information.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The communication peer of %s uses an incorrect API version %d\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CLAW device
|
||
|
+ * @2: network interface name
|
||
|
+ * @3: CLAW API version
|
||
|
+ * Description:
|
||
|
+ * The Common Link Access to Workstation (CLAW) device driver received a
|
||
|
+ * SYSTEM_VALIDATE_REQUEST packet from the remote channel adapter. The packet
|
||
|
+ * included an unexpected version ID for the CLAW API. The version ID must
|
||
|
+ * be '2' for all packets.
|
||
|
+ * User action:
|
||
|
+ * Ensure that the remote channel adapter is at the latest firmware level.
|
||
|
+ * Restart the remote channel adapter and activate the remote interface. If the
|
||
|
+ * problem persists, examine the subchannel trace for further diagnostic
|
||
|
+ * information.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Host name %s for %s does not match the remote adapter name %s\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CLAW device
|
||
|
+ * @2: host name in the local CLAW device settings
|
||
|
+ * @3: network interface name
|
||
|
+ * @4: adapter name in the remote CLAW device settings
|
||
|
+ * Description:
|
||
|
+ * The host name in the local Common Link Access to Workstation (CLAW) device
|
||
|
+ * settings must match the adapter name in the CLAW device settings of the
|
||
|
+ * communication peer. The CLAW device driver discovered a mismatch between
|
||
|
+ * these settings. The connection cannot be established.
|
||
|
+ * User action:
|
||
|
+ * Check the configuration of the CLAW device and of its communication peer.
|
||
|
+ * Correct the erroneous setting and restart the CLAW device, local or remote,
|
||
|
+ * for which you have made corrections.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Adapter name %s for %s does not match the remote host name %s\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CLAW device
|
||
|
+ * @2: adapter name in the local CLAW device settings
|
||
|
+ * @3: network interface name
|
||
|
+ * @4: host name in the remote CLAW device settings
|
||
|
+ * Description:
|
||
|
+ * The adapter name in the local Common Link Access to Workstation (CLAW) device
|
||
|
+ * settings must match the host name in the CLAW device settings of the
|
||
|
+ * communication peer. The CLAW device driver discovered a mismatch between
|
||
|
+ * these settings. The connection cannot be established.
|
||
|
+ * User action:
|
||
|
+ * Check the configuration of the CLAW device and of its communication peer.
|
||
|
+ * Correct the erroneous setting and restart the CLAW device, local or remote,
|
||
|
+ * for which you have made corrections.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The local write buffer is smaller than the remote read buffer\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CLAW device
|
||
|
+ * Description:
|
||
|
+ * You set the buffer size for the local Common Link Access to Workstation
|
||
|
+ * (CLAW) device implicitly by setting the connection type. For connection
|
||
|
+ * type 'packed' the buffer size is 32 KB, for the other connection types the
|
||
|
+ * buffer size is 4 KB. The connection cannot be established because the
|
||
|
+ * write buffer size of the local CLAW device does not match the read buffer
|
||
|
+ * size of the communication peer.
|
||
|
+ * User action:
|
||
|
+ * Confirm that you are using the correct connection type for the local CLAW
|
||
|
+ * device. Ensure that the read buffer size of the remote CLAW device is set
|
||
|
+ * accordingly. Restart the CLAW device, local or remote, for which you have
|
||
|
+ * made corrections.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The local read buffer is smaller than the remote write buffer\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CLAW device
|
||
|
+ * Description:
|
||
|
+ * You set the buffer size for the local Common Link Access to Workstation
|
||
|
+ * (CLAW) device implicitly by setting the connection type. For connection
|
||
|
+ * type 'packed' the buffer size is 32 KB, for the other connection types the
|
||
|
+ * buffer size is 4 KB. The connection cannot be established because the
|
||
|
+ * read buffer size of the local CLAW device does not match the write buffer
|
||
|
+ * size of the communication peer.
|
||
|
+ * User action:
|
||
|
+ * Confirm that you are using the correct connection type for the local CLAW
|
||
|
+ * device. Ensure that the write buffer size of the remote CLAW device is set
|
||
|
+ * accordingly. Restart the CLAW device, local or remote, for which you have
|
||
|
+ * made corrections.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Settings for %s validated (version=%d, remote device=%d, rc=%d, adapter name=%.8s, host name=%.8s)\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CLAW device
|
||
|
+ * @2: network interface name
|
||
|
+ * @3: CLAW API version
|
||
|
+ * @4: identifier for the remote CLAW device
|
||
|
+ * @5: return code received from the remote CLAW device
|
||
|
+ * @6: adapter name
|
||
|
+ * @7: host name
|
||
|
+ * Description:
|
||
|
+ * The settings of the local Common Link Access to Workstation (CLAW) device
|
||
|
+ * have been validated by the communication peer. The message summarizes the
|
||
|
+ * content of the response. If the return code is zero, the validation was
|
||
|
+ * successful and the connection is activated.
|
||
|
+ * User action:
|
||
|
+ * If the return code is not equal to zero, look for related warning messages.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Validating %s failed because of a host or adapter name mismatch\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CLAW device
|
||
|
+ * @2: network interface name
|
||
|
+ * Description:
|
||
|
+ * The Common Link Access to Workstation (CLAW) network interface cannot be
|
||
|
+ * activated because there is a mismatch between a host name and the
|
||
|
+ * corresponding adapter name. The local host name must match the remote
|
||
|
+ * adapter name and the local adapter name must match the remote host name.
|
||
|
+ * User action:
|
||
|
+ * Correct the erroneous setting and restart the CLAW device, local or remote,
|
||
|
+ * for which you have made corrections.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Validating %s failed because of a version conflict\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CLAW device
|
||
|
+ * @2: network interface name
|
||
|
+ * Description:
|
||
|
+ * The Common Link Access to Workstation (CLAW) network interface cannot be
|
||
|
+ * activated because the remote CLAW device does not support CLAW version 2.
|
||
|
+ * The CLAW device driver requires CLAW version 2.
|
||
|
+ * User action:
|
||
|
+ * Ensure that the remote channel adapter supports CLAW version 2 and that the
|
||
|
+ * remote CLAW device is configured for CLAW version 2.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Validating %s failed because of a frame size conflict\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CLAW device
|
||
|
+ * @2: network interface name
|
||
|
+ * Description:
|
||
|
+ * You set the frame size for the local Common Link Access to Workstation
|
||
|
+ * (CLAW) device implicitly by setting the connection type. For connection
|
||
|
+ * type 'packed' the frame size is 32 KB, for the other connection types the
|
||
|
+ * frame size is 4 KB. The connection cannot be activated because the
|
||
|
+ * the frame size of the local CLAW device does not match the frame size of the
|
||
|
+ * communication peer.
|
||
|
+ * User action:
|
||
|
+ * Confirm that you are using the correct connection type for the local CLAW
|
||
|
+ * device. Ensure that the frame size of the remote CLAW device is set
|
||
|
+ * accordingly. Restart the CLAW device, local or remote, for which you have
|
||
|
+ * have made corrections.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The communication peer of %s rejected the connection\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CLAW device
|
||
|
+ * @2: network interface name
|
||
|
+ * Description:
|
||
|
+ * The remote CLAW device rejected the connection because of a mismatch between
|
||
|
+ * the settings of the local CLAW device and the remote CLAW device.
|
||
|
+ * User action:
|
||
|
+ * Check the settings of both the local and the remote CLAW device and ensure
|
||
|
+ * that the settings are consistent. Restart the CLAW device, local or remote
|
||
|
+ * for which you have made the correction.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: %s rejected a connection request because it is already active\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CLAW device
|
||
|
+ * @2: network interface name
|
||
|
+ * Description:
|
||
|
+ * The Common Link Access to Workstation (CLAW) device rejected a connection
|
||
|
+ * request by its communication peer because the connection is already active.
|
||
|
+ * The CLAW device driver only supports a single connection for each CLAW
|
||
|
+ * device. This might be a runtime problem.
|
||
|
+ * User action:
|
||
|
+ * None if there is an active connection. If no connection can be established,
|
||
|
+ * restart the remote channel adapter.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: %s rejected a request to open multiple connections\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CLAW device
|
||
|
+ * @2: network interface name
|
||
|
+ * Description:
|
||
|
+ * The Common Link Access to Workstation (CLAW) device rejected a request by
|
||
|
+ * its communication peer to open more than one connection. The CLAW device
|
||
|
+ * driver only supports a single connection for each CLAW device.
|
||
|
+ * User action:
|
||
|
+ * Reconfigure the remote CLAW device to only use one connection. Restart the
|
||
|
+ * remote CLAW device.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: %s rejected a connection request because of a type mismatch\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CLAW device
|
||
|
+ * @1: network interface name
|
||
|
+ * Description:
|
||
|
+ * The Common Link Access to Workstation (CLAW) device rejected a request by
|
||
|
+ * its communication peer to open a connection. A connection can only be opened
|
||
|
+ * if the same connection type has been set for both the local and the remote
|
||
|
+ * CLAW device.
|
||
|
+ * User action:
|
||
|
+ * Ensure that the connection types for the local and remote CLAW device match.
|
||
|
+ * Restart the CLAW device, local or remote, for which you have changed the
|
||
|
+ * connection type.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The communication peer of %s rejected a connection request\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CLAW device
|
||
|
+ * @1: network interface name
|
||
|
+ * Description:
|
||
|
+ * The remote CLAW device detected an inconsistency in the configurations of the
|
||
|
+ * local and the remote CLAW device and rejected a connection request.
|
||
|
+ * User action:
|
||
|
+ * Examine the settings of your local and remote CLAW device. Correct the
|
||
|
+ * erroneous setting and restart the CLAW device, local or remote, for which
|
||
|
+ * you have made corrections.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The communication peer of %s rejected a connection request because of a type mismatch\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CLAW device
|
||
|
+ * @2: network interface name
|
||
|
+ * Description:
|
||
|
+ * The remote Common Link Access to Workstation (CLAW) device rejected a
|
||
|
+ * request to open a connection. A connection can only be opened if the same
|
||
|
+ * connection type has been set for both the local and the remote CLAW device.
|
||
|
+ * not be started.
|
||
|
+ * User action:
|
||
|
+ * Ensure that the connection types for the local and remote CLAW device match.
|
||
|
+ * Restart the CLAW device, local or remote, for which you have changed the
|
||
|
+ * connection type.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Activating %s failed because of an incorrect link ID=%d\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CLAW device
|
||
|
+ * @2: network interface name
|
||
|
+ * @3: link ID returned from the remote CLAW device
|
||
|
+ * Description:
|
||
|
+ * The remote Common Link Access to Workstation (CLAW) device accepted a
|
||
|
+ * connection request but returned an incorrect link ID. The CLAW device driver
|
||
|
+ * only supports a single connection at a time (link ID=1) for each network
|
||
|
+ * interface.
|
||
|
+ * User action:
|
||
|
+ * Restart the remote CLAW device and try again to activate the network
|
||
|
+ * interface.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The communication peer of %s failed\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CLAW device
|
||
|
+ * @2: network interface name
|
||
|
+ * Description:
|
||
|
+ * The remote Common Link Access to Workstation (CLAW) device reported an
|
||
|
+ * error condition that cannot be recovered automatically.
|
||
|
+ * User action:
|
||
|
+ * Restart the remote CLAW device. If this does not resolve the error, gather
|
||
|
+ * logs and traces from the remote CLAW device to obtain further
|
||
|
+ * diagnostic data.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The communication peer of %s sent an unknown command code\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CLAW device
|
||
|
+ * @2: network interface name
|
||
|
+ * Description:
|
||
|
+ * The remote Common Link Access to Workstation (CLAW) device sent a command
|
||
|
+ * code that is not defined. This might indicate that the remote CLAW device is
|
||
|
+ * malfunctioning. The connection remains operational.
|
||
|
+ * User action:
|
||
|
+ * If this problem occurs frequently, restart the remote CLAW device. If this
|
||
|
+ * does not resolve the error, gather logs and traces from the remote CLAW
|
||
|
+ * device to obtain further diagnostic data.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The communication peer of %s sent a faulty frame of length %02x\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CLAW device
|
||
|
+ * @2: network interface name
|
||
|
+ * @3: incorrect frame length value
|
||
|
+ * Description:
|
||
|
+ * The remote Common Link Access to Workstation (CLAW) device sent a frame
|
||
|
+ * with an incorrect value in the length field. This problem might result from
|
||
|
+ * data errors or incorrect packing. The connection remains operational.
|
||
|
+ * User action:
|
||
|
+ * If this problem occurs frequently, restart the remote CLAW device. If this
|
||
|
+ * does not resolve the error, gather logs and traces from the remote CLAW
|
||
|
+ * device to obtain further diagnostic data.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Allocating a buffer for incoming data failed\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CLAW device
|
||
|
+ * Description:
|
||
|
+ * A Common Link Access to Workstation (CLAW) data packet was received but
|
||
|
+ * the CLAW device driver could not allocate a receive buffer. A possible cause
|
||
|
+ * of this problem is memory constraints. The data packet is dropped but the
|
||
|
+ * connection remains operational.
|
||
|
+ * User action:
|
||
|
+ * Ensure that sufficient memory is available. If this problem occurs
|
||
|
+ * frequently, restart the remote CLAW device. If this does not resolve the
|
||
|
+ * error, gather logs and traces from the remote CLAW device to obtain further
|
||
|
+ * diagnostic data.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Creating a CLAW group device failed with error code %d\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CLAW device
|
||
|
+ * @2: errno
|
||
|
+ * Description:
|
||
|
+ * The Common Link Access to Workstation (CLAW) device driver failed to create
|
||
|
+ * a CLAW group device. A possible cause of this problem is memory constraints.
|
||
|
+ * User action:
|
||
|
+ * Ensure that there is sufficient free memory. See the errno man page and look
|
||
|
+ * for related messages to find out what caused the problem. If you cannot
|
||
|
+ * resolve the problem, contact your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Setting the read subchannel online failed with error code %d\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CLAW device
|
||
|
+ * @2: errno
|
||
|
+ * Description:
|
||
|
+ * Setting the Common Link Access to Workstation (CLAW) device online failed
|
||
|
+ * with an error for the read subchannel. This problem occurs, for example, if
|
||
|
+ * the read subchannel used to create the CLAW group device is not defined as a
|
||
|
+ * CLAW read subchannel in the hardware definitions. The CLAW read subchannel
|
||
|
+ * must be for a 3088 device of type x'61' and have an even bus ID. The bus ID
|
||
|
+ * of the read subchannel matches the bus ID of the CLAW device.
|
||
|
+ * User action:
|
||
|
+ * Confirm that you are using the correct bus ID for the read subchannel. If
|
||
|
+ * necessary, ungroup the device and recreate it with the correct bus ID.
|
||
|
+ * Assure that the read subchannel has been defined correctly to the real or
|
||
|
+ * virtual hardware, for example, in your IOCDS or in your z/VM configuration.
|
||
|
+ * Assure that a valid number of read buffers has been assigned to the device.
|
||
|
+ * See 'Device Drivers, Features, and Commands' for details about the read
|
||
|
+ * buffers. See the errno man page for information about the error code.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Setting the write subchannel online failed with error code %d\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CLAW device
|
||
|
+ * @2: errno
|
||
|
+ * Description:
|
||
|
+ * Setting the Common Link Access to Workstation (CLAW) device online failed
|
||
|
+ * with an error for the write subchannel. This problem occurs, for example, if
|
||
|
+ * the write subchannel used to create the CLAW group device is not defined as a
|
||
|
+ * CLAW write subchannel in the hardware definitions. The CLAW write subchannel
|
||
|
+ * must be for a 3088 device of type x'61' and have an uneven bus ID. The
|
||
|
+ * bus ID of the write subchannel can be found from the symbolic link
|
||
|
+ * /sys/bus/ccwgroup/drivers/claw/<device-bus-ID>/cdev1 where <device-bus-ID>
|
||
|
+ * is the bus ID of the CLAW device.
|
||
|
+ * User action:
|
||
|
+ * Confirm that you are using the correct bus ID for the write subchannel. If
|
||
|
+ * necessary, ungroup the device and recreate it with the correct bus ID.
|
||
|
+ * Assure that the write subchannel has been defined correctly to the real or
|
||
|
+ * virtual hardware, for example, in your IOCDS or in your z/VM configuration.
|
||
|
+ * Assure that a valid number of write buffers has been assigned to the device.
|
||
|
+ * See 'Device Drivers, Features, and Commands' for details about the read
|
||
|
+ * buffers. See the errno man page for information about the error code.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Activating the CLAW device failed\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CLAW device
|
||
|
+ * Description:
|
||
|
+ * Activating the Common Link Access to Workstation (CLAW) device failed. A
|
||
|
+ * possible cause of this problem is memory constraints.
|
||
|
+ * User action:
|
||
|
+ * Free some memory and try again to activate the CLAW device. If the problem
|
||
|
+ * persists, contact your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Registering with the S/390 debug feature failed with error code %d\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: errno
|
||
|
+ * Description:
|
||
|
+ * The Common Link Access to Workstation (CLAW) device driver failed to register
|
||
|
+ * with the S/390 debug feature. No debug traces will be available for CLAW.
|
||
|
+ * User action:
|
||
|
+ * Enter 'lsmod | grep dbf' or an equivalent command to check if the S/390 debug
|
||
|
+ * feature loaded. If the output does not show the dbf module, the S/390 debug
|
||
|
+ * feature has not been loaded, unload the CLAW device driver, load the debug
|
||
|
+ * feature, then reload the CLAW device driver. See the errno man page for
|
||
|
+ * information about the error code.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Registering with the cu3088 device driver failed with error code %d\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: errno
|
||
|
+ * Description:
|
||
|
+ * The Common Link Access to Workstation (CLAW) device driver failed to register
|
||
|
+ * with the cu3088 channel subsystem device driver. The CLAW device driver
|
||
|
+ * requires the cu3088 device driver.
|
||
|
+ * User action:
|
||
|
+ * Enter 'lsmod | grep cu3088' or an equivalent command to check if the cu3088
|
||
|
+ * device driver is loaded. If the output does not show the cu3088 module,
|
||
|
+ * unload the CLAW device driver, load the cu3088 device driver, then reload
|
||
|
+ * the CLAW device driver. See the errno man page for information about the
|
||
|
+ * error code.
|
||
|
+ */
|
||
|
+
|
||
|
+/*? Text: "%s: %s: CLAW device %.8s: Received Control Packet\n" */
|
||
|
+/*? Text: "%s: %s: CLAW device %.8s: System validate completed.\n" */
|
||
|
+/*? Text: "%s: %s: CLAW device %.8s: Connection completed link_id=%d.\n" */
|
||
|
+/*? Text: "%s: %s: remote side is not ready\n" */
|
||
|
+/*? Text: "%s: %s: write connection restarting\n" */
|
||
|
+/*? Text: "%s: %s: subchannel check for device: %04x - Sch Stat %02x Dev Stat %02x CPA - %04x\n" */
|
||
|
+/*? Text: "%s: %s: Unit Exception occurred in write channel\n" */
|
||
|
+/*? Text: "%s: %s: Resetting Event occurred:\n" */
|
||
|
+/*? Text: "%s: %s: Recv Conn Confirm:Vers=%d,link_id=%d,Corr=%d,Host appl=%.8s,WS appl=%.8s\n" */
|
||
|
+/*? Text: "%s: %s: Recv Conn Req: Vers=%d,link_id=%d,Corr=%d,HOST appl=%.8s,WS appl=%.8s\n" */
|
||
|
+/*? Text: "%s: %s: Recv Sys Validate Request: Vers=%d,link_id=%d,Corr=%d,WS name=%.8s,Host name=%.8s\n" */
|
||
|
+/*? Text: "%s: %s: Confirmed Now packing\n" */
|
||
|
+/*? Text: "%s: %s: Unit Check Occured in write channel\n" */
|
||
|
+/*? Text: "%s: %s: Restart is required after remote side recovers \n" */
|
||
|
+/*? Text: "%s: %s: sys Validate Rsize:%d Wsize:%d\n" */
|
||
|
+/*? Text: "%s: %s:readsize=%d writesize=%d readbuffer=%d writebuffer=%d read=0x%04x write=0x%04x\n" */
|
||
|
+/*? Text: "%s: %s:host_name:%.8s, adapter_name :%.8s api_type: %.8s\n" */
|
||
|
+/*? Text: "Driver unloaded\n" */
|
||
|
+/*? Text: "Loading %s\n" */
|
||
|
+/*? Text: "%s: will be removed.\n" */
|
||
|
+/*? Text: "%s: add for %s\n" */
|
||
|
+/*? Text: "%s: %s: shutting down \n" */
|
||
|
+/*? Text: "%s: CLAW device %.8s: System validate completed.\n" */
|
||
|
+/*? Text: "%s: %s: Disconnect: Vers=%d,link_id=%d,Corr=%d\n" */
|
||
|
+/*? Text: "%s: %s: Recv Conn Resp: Vers=%d,link_id=%d,Corr=%d,RC=%d,Host appl=%.8s, WS appl=%.8s\n" */
|
||
|
--- /dev/null
|
||
|
+++ b/Documentation/kmsg/s390/cpcmd
|
||
|
@@ -0,0 +1,17 @@
|
||
|
+/*?
|
||
|
+ * Text: "The cpcmd kernel function failed to allocate a response buffer\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Description:
|
||
|
+ * IPL code, console detection, and device drivers like vmcp or vmlogrdr use
|
||
|
+ * the cpcmd kernel function to send commands to the z/VM control program (CP).
|
||
|
+ * If a program that uses the cpcmd function does not allocate a contiguous
|
||
|
+ * response buffer below 2 GB guest real storage, cpcmd creates a bounce buffer
|
||
|
+ * to be used as the response buffer. Because of low memory or memory
|
||
|
+ * fragmentation, cpcmd could not create the bounce buffer.
|
||
|
+ * User action:
|
||
|
+ * Look for related page allocation failure messages and at the stack trace to
|
||
|
+ * find out which program or operation failed. Free some memory and retry the
|
||
|
+ * failed operation. Consider allocating more memory to your z/VM guest virtual
|
||
|
+ * machine.
|
||
|
+ */
|
||
|
+
|
||
|
--- /dev/null
|
||
|
+++ b/Documentation/kmsg/s390/cpu
|
||
|
@@ -0,0 +1,69 @@
|
||
|
+/*?
|
||
|
+ * Text: "Processor %d started, address %d, identification %06X\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: logical CPU number
|
||
|
+ * @2: CPU address
|
||
|
+ * @3: CPU identification number
|
||
|
+ * Description:
|
||
|
+ * The kernel detected a CPU with the given characteristics.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Processor %d stopped\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: logical CPU number
|
||
|
+ * Description:
|
||
|
+ * A logical CPU has been set offline.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%d configured CPUs, %d standby CPUs\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: number of configured CPUs
|
||
|
+ * @2: number of standby CPUs
|
||
|
+ * Description:
|
||
|
+ * The kernel detected the given number of configured and standby CPUs.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "The CPU configuration topology of the machine is:"
|
||
|
+ * Severity: Informational
|
||
|
+ * Description:
|
||
|
+ * The first six values of the topology information represent fields Mag6 to
|
||
|
+ * Mag1 of system-information block (SYSIB) 15.1.2. These fields specify the
|
||
|
+ * maximum numbers of topology-list entries (TLE) at successive topology nesting
|
||
|
+ * levels. The last value represents the MNest value of SYSIB 15.1.2 which
|
||
|
+ * specifies the maximum possible nesting that can be configured through
|
||
|
+ * dynamic changes. For details see the SYSIB 15.1.2 information in the
|
||
|
+ * "Principles of Operation."
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "CPU %i exceeds the maximum %i and is excluded from the dump\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: CPU number
|
||
|
+ * @2: maximum CPU number
|
||
|
+ * Description:
|
||
|
+ * The Linux kernel is used as a system dumper but it runs on more CPUs than
|
||
|
+ * it has been compiled for with the CONFIG_NR_CPUS kernel configuration
|
||
|
+ * option. The system dump will be created but information on one or more
|
||
|
+ * CPUs will be missing.
|
||
|
+ * User action:
|
||
|
+ * Update the system dump kernel to a newer version that supports more
|
||
|
+ * CPUs or reduce the number of installed CPUs and reproduce the problem
|
||
|
+ * that should be analyzed. If you send the system dump that prompted this
|
||
|
+ * message to a support organization, be sure to communicate that the dump
|
||
|
+ * does not include all CPU information.
|
||
|
+ */
|
||
|
--- /dev/null
|
||
|
+++ b/Documentation/kmsg/s390/ctcm
|
||
|
@@ -0,0 +1,199 @@
|
||
|
+/*?
|
||
|
+ * Text: "%s: An I/O-error occurred on the CTCM device\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CTCM device
|
||
|
+ * Description:
|
||
|
+ * An I/O error was detected on one of the subchannels of the CTCM device.
|
||
|
+ * Depending on the error, the CTCM device driver might attempt an automatic
|
||
|
+ * recovery.
|
||
|
+ * User action:
|
||
|
+ * Check the status of the CTCM device, for example, with ifconfig. If the
|
||
|
+ * device is not operational, perform a manual recovery. See "Device Drivers,
|
||
|
+ * Features, and Commands" for details about how to recover a CTCM device.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: An adapter hardware operation timed out\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CTCM device
|
||
|
+ * Description:
|
||
|
+ * The CTCM device uses an adapter to physically connect to its communication
|
||
|
+ * peer. An operation on this adapter timed out.
|
||
|
+ * User action:
|
||
|
+ * Check the status of the CTCM device, for example, with ifconfig. If the
|
||
|
+ * device is not operational, perform a manual recovery. See "Device Drivers,
|
||
|
+ * Features, and Commands" for details about how to recover a CTCM device.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: An error occurred on the adapter hardware\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CTCM device
|
||
|
+ * Description:
|
||
|
+ * The CTCM device uses an adapter to physically connect to its communication
|
||
|
+ * peer. An operation on this adapter returned an error.
|
||
|
+ * User action:
|
||
|
+ * Check the status of the CTCM device, for example, with ifconfig. If the
|
||
|
+ * device is not operational, perform a manual recovery. See "Device Drivers,
|
||
|
+ * Features, and Commands" for details about how to recover a CTCM device.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The communication peer has disconnected\n"
|
||
|
+ * Severity: Notice
|
||
|
+ * Parameter:
|
||
|
+ * @1: channel ID
|
||
|
+ * Description:
|
||
|
+ * The remote device has disconnected. Possible reasons are that the remote
|
||
|
+ * interface has been closed or that the operating system instance with the
|
||
|
+ * communication peer has been rebooted or shut down.
|
||
|
+ * User action:
|
||
|
+ * Check the status of the peer device. Ensure that the peer operating system
|
||
|
+ * instance is running and that the peer interface is operational.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The remote operating system is not available\n"
|
||
|
+ * Severity: Notice
|
||
|
+ * Parameter:
|
||
|
+ * @1: channel ID
|
||
|
+ * Description:
|
||
|
+ * The operating system instance with the communication peer has disconnected.
|
||
|
+ * Possible reasons are that the operating system instance has been rebooted
|
||
|
+ * or shut down.
|
||
|
+ * User action:
|
||
|
+ * Ensure that the peer operating system instance is running and that the peer
|
||
|
+ * interface is operational.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The adapter received a non-specific IRQ\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CTCM device
|
||
|
+ * Description:
|
||
|
+ * The adapter hardware used by the CTCM device received an IRQ that cannot
|
||
|
+ * be mapped to a particular device. This is a hardware problem.
|
||
|
+ * User action:
|
||
|
+ * Check the status of the CTCM device, for example, with ifconfig. Check if
|
||
|
+ * the connection to the remote device still works. If the CTCM device is not
|
||
|
+ * operational, set it offline and back online. If this does not resolve the
|
||
|
+ * problem, perform a manual recovery. See "Device Drivers, Features, and
|
||
|
+ * Commands" for details about how to recover a CTCM device. If this problem
|
||
|
+ * persists, gather Linux debug data, collect the hardware logs, and report the
|
||
|
+ * problem to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: A check occurred on the subchannel\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CTCM device
|
||
|
+ * Description:
|
||
|
+ * A check condition has been detected on the subchannel.
|
||
|
+ * User action:
|
||
|
+ * Check if the connection to the remote device still works. If the CTCM device
|
||
|
+ * is not operational, set it offline and back online. If this does not resolve
|
||
|
+ * the problem, perform a manual recovery. See "Device Drivers, Features, and
|
||
|
+ * Commands" for details about how to recover a CTCM device. If this problem
|
||
|
+ * persists, gather Linux debug data and report the problem to your support
|
||
|
+ * organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The communication peer is busy\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: channel ID
|
||
|
+ * Description:
|
||
|
+ * A busy target device was reported. This might be a temporary problem.
|
||
|
+ * User action:
|
||
|
+ * If this problem persists or is reported frequently ensure that the target
|
||
|
+ * device is working properly.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The specified target device is not valid\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: channel ID
|
||
|
+ * Description:
|
||
|
+ * A target device was called with a faulty device specification. This is an
|
||
|
+ * adapter hardware problem.
|
||
|
+ * User action:
|
||
|
+ * Gather Linux debug data, collect the hardware logs, and contact IBM support.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "An I/O operation resulted in error %04x\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: channel ID
|
||
|
+ * @2: error information
|
||
|
+ * Description:
|
||
|
+ * A hardware operation ended with an error.
|
||
|
+ * User action:
|
||
|
+ * Check the status of the CTCM device, for example, with ifconfig. If the
|
||
|
+ * device is not operational, perform a manual recovery. See "Device Drivers,
|
||
|
+ * Features, and Commands" for details about how to recover a CTCM device.
|
||
|
+ * If this problem persists, gather Linux debug data, collect the hardware logs,
|
||
|
+ * and report the problem to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Initialization failed with RX/TX init handshake error %s\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CTCM device
|
||
|
+ * @2: error information
|
||
|
+ * Description:
|
||
|
+ * A problem occurred during the initialization of the connection. If the
|
||
|
+ * connection can be established after an automatic recovery, a success message
|
||
|
+ * is issued.
|
||
|
+ * User action:
|
||
|
+ * If the problem is not resolved by the automatic recovery process, check the
|
||
|
+ * local and remote device. If this problem persists, gather Linux debug data
|
||
|
+ * and report the problem to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The network backlog for %s is exceeded, package dropped\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CTCM device
|
||
|
+ * @2: calling function
|
||
|
+ * Description:
|
||
|
+ * There is more network traffic than can be handled by the device. The device
|
||
|
+ * is closed and some data has not been transmitted. The device might be
|
||
|
+ * recovered automatically.
|
||
|
+ * User action:
|
||
|
+ * Investigate and resolve the congestion. If necessary, set the device
|
||
|
+ * online to make it operational.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The XID used in the MPC protocol is not valid, rc = %d\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the CTCM device
|
||
|
+ * @2: return code
|
||
|
+ * Description:
|
||
|
+ * The exchange identification (XID) used by the CTCM device driver when
|
||
|
+ * in MPC mode is not valid.
|
||
|
+ * User action:
|
||
|
+ * Note the error information provided with this message and contact your
|
||
|
+ * support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*? Text: "CTCM driver unloaded\n" */
|
||
|
+/*? Text: "%s: %s Internal error: net_device is NULL, ch = 0x%p\n" */
|
||
|
+/*? Text: "%s / register_cu3088_discipline failed, ret = %d\n" */
|
||
|
+/*? Text: "%s: %s: Internal error: Can't determine channel for interrupt device %s\n" */
|
||
|
+/*? Text: "CTCM driver initialized\n" */
|
||
|
+/*? Text: "%s: setup OK : r/w = %s/%s, protocol : %d\n" */
|
||
|
+/*? Text: "%s: Connected with remote side\n" */
|
||
|
+/*? Text: "%s: Restarting device\n" */
|
||
|
+
|
||
|
--- /dev/null
|
||
|
+++ b/Documentation/kmsg/s390/dasd
|
||
|
@@ -0,0 +1,466 @@
|
||
|
+/* dasd_ioctl */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The DASD has been put in the quiesce state\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * No I/O operation is possible on this device.
|
||
|
+ * User action:
|
||
|
+ * Resume the DASD to enable I/O operations.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: I/O operations have been resumed on the DASD\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * The DASD is no longer in state quiesce and I/O operations can be performed
|
||
|
+ * on the device.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The DASD cannot be formatted while it is enabled\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * The DASD you try to format is enabled. Enabled devices cannot be formatted.
|
||
|
+ * User action:
|
||
|
+ * Contact the owner of the formatting tool.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The specified DASD is a partition and cannot be formatted\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * The DASD you try to format is a partition. Partitions cannot be formatted
|
||
|
+ * separately. You can only format a complete DASD including all its partitions.
|
||
|
+ * User action:
|
||
|
+ * Format the complete DASD.
|
||
|
+ * ATTENTION: Formatting irreversibly destroys all data on all partitions
|
||
|
+ * of the DASD.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Formatting unit %d failed with rc=%d\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * @2: start track
|
||
|
+ * @3: return code
|
||
|
+ * Description:
|
||
|
+ * The formatting process might have been interrupted by a signal, for example,
|
||
|
+ * CTRL+C. If the process was not interrupted intentionally, an I/O error
|
||
|
+ * might have occurred.
|
||
|
+ * User action:
|
||
|
+ * Retry to format the device. If the error persists, check the log file for
|
||
|
+ * related error messages. If you cannot resolve the error, note the return
|
||
|
+ * code and contact your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+
|
||
|
+/* dasd */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: start_IO run out of retries and failed with request %s\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * @2: pointer to request
|
||
|
+ * Description:
|
||
|
+ * The start IO function tried to start an IO request but the number
|
||
|
+ * of retries for the I/O was exceeded before the request could be started.
|
||
|
+ * User action:
|
||
|
+ * Check for related previous error messages.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Cancelling request %p failed with rc=%d\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * @2: pointer to request
|
||
|
+ * @3: return code of previous function
|
||
|
+ * Description:
|
||
|
+ * In response to a user action, the DASD device driver tried but failed to
|
||
|
+ * cancel a previously started I/O operation.
|
||
|
+ * User action:
|
||
|
+ * Try the action again.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Flushing the DASD request queue failed for request %p\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * @2: pointer to request
|
||
|
+ * Description:
|
||
|
+ * As part of the unloading process, the DASD device driver flushes the
|
||
|
+ * request queue. This failed because a previously started I/O operation
|
||
|
+ * could not be canceled.
|
||
|
+ * User action:
|
||
|
+ * Try again to unload the DASD device driver or to shut down Linux.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "The DASD device driver could not be initialized\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Description:
|
||
|
+ * The initialization of the DASD device driver failed because of previous
|
||
|
+ * errors.
|
||
|
+ * User action:
|
||
|
+ * Check for related previous error messages.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Accessing the DASD failed because it is in probeonly mode\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * The dasd= module or kernel parameter specified the probeonly attribute for
|
||
|
+ * the DASD you are trying to access. The DASD device driver cannot access
|
||
|
+ * DASDs that are in probeonly mode.
|
||
|
+ * User action:
|
||
|
+ * Change the dasd= parameter as to omit probeonly for the DASD and reload
|
||
|
+ * the DASD device driver. If the DASD device driver has been compiled into
|
||
|
+ * the kernel, reboot Linux.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: cqr %p timed out (%is), %i retries remaining\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * @2: pointer to request
|
||
|
+ * @3: timeout value
|
||
|
+ * @4: number of retries left
|
||
|
+ * Description:
|
||
|
+ * One try of the error recovery procedure (ERP) for the channel queued request
|
||
|
+ * (cqr) timed out and failed to recover the error. ERP continues for the DASD.
|
||
|
+ * User action:
|
||
|
+ * Ignore this message if it occurs infrequently and if the recovery succeeds
|
||
|
+ * during one of the retries. If this error persists, check for related
|
||
|
+ * previous error messages and report the problem to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: cqr %p timed out (%is) but cannot be ended, retrying in 5 s\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * @2: pointer to request
|
||
|
+ * @3: timeout value
|
||
|
+ * Description:
|
||
|
+ * A try of the error recovery procedure (ERP) for the channel queued request
|
||
|
+ * (cqr) timed out and failed to recover the error. The I/O request submitted
|
||
|
+ * during the try could not be canceled. The ERP waits for 5 seconds before
|
||
|
+ * trying again.
|
||
|
+ * User action:
|
||
|
+ * Ignore this message if it occurs infrequently and if the recovery succeeds
|
||
|
+ * during one of the retries. If this error persists, check for related
|
||
|
+ * previous error messages and report the problem to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The DASD cannot be set offline while it is in use\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * The DASD cannot be set offline because it is in use by an internal process.
|
||
|
+ * An action to free the DASD might not have completed yet.
|
||
|
+ * User action:
|
||
|
+ * Wait some time and set the DASD offline later.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The DASD cannot be set offline with open count %i\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * @2: count
|
||
|
+ * Description:
|
||
|
+ * The DASD is being used by one or more processes and cannot be set offline.
|
||
|
+ * User action:
|
||
|
+ * Ensure that the DASD is not in use anymore, for example, unmount all
|
||
|
+ * partitions. Then try again to set the DASD offline.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Setting the DASD online failed with rc=%d\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * @2: return code
|
||
|
+ * Description:
|
||
|
+ * The DASD could not be set online because of previous errors.
|
||
|
+ * User action:
|
||
|
+ * Look for previous error messages. If you cannot resolve the error, note
|
||
|
+ * the return code and contact your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s Setting the DASD online with discipline %s failed with rc=%i\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * @2: discipline
|
||
|
+ * @3: return code
|
||
|
+ * Description:
|
||
|
+ * The DASD could not be set online because of previous errors.
|
||
|
+ * User action:
|
||
|
+ * Look for previous error messages. If you cannot resolve the error, note the
|
||
|
+ * return code and contact your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s Setting the DASD online failed because of missing DIAG discipline\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * The DASD was to be set online with discipline DIAG but this discipline of
|
||
|
+ * the DASD device driver is not available.
|
||
|
+ * User action:
|
||
|
+ * Ensure that the dasd_diag_mod module is loaded. If your Linux system does
|
||
|
+ * not include this module, you cannot set DASDs online with the DIAG
|
||
|
+ * discipline.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s Setting the DASD online failed because of a missing discipline\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * The DASD was to be set online with a DASD device driver discipline that
|
||
|
+ * is not available.
|
||
|
+ * User action:
|
||
|
+ * Ensure that all DASD modules are loaded correctly.
|
||
|
+ */
|
||
|
+
|
||
|
+---------------------------
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "The statistics feature has been switched off\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Description:
|
||
|
+ * The statistics feature of the DASD device driver has been switched off.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "The statistics feature has been switched on\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Description:
|
||
|
+ * The statistics feature of the DASD device driver has been switched on.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "The statistics have been reset\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Description:
|
||
|
+ * The DASD statistics data have been reset.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s is not a supported value for /proc/dasd/statistics\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: value
|
||
|
+ * Description:
|
||
|
+ * An incorrect value has been written to /proc/dasd/statistics.
|
||
|
+ * The supported values are: 'set on', 'set off', and 'reset'.
|
||
|
+ * User action:
|
||
|
+ * Write a supported value to /proc/dasd/statistics.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s is not a valid device range\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: range
|
||
|
+ * Description:
|
||
|
+ * A device range specified with the dasd= parameter is not valid.
|
||
|
+ * User action:
|
||
|
+ * Examine the dasd= parameter and correct the device range.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "The probeonly mode has been activated\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Description:
|
||
|
+ * The probeonly mode of the DASD device driver has been activated. In this
|
||
|
+ * mode the device driver rejects any 'open' syscalls with EPERM.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "The IPL device is not a CCW device\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Description:
|
||
|
+ * The value for the dasd= parameter contains the 'ipldev' keyword. During
|
||
|
+ * the boot process this keyword is replaced with the device from which the
|
||
|
+ * IPL was performed. The 'ipldev' keyword is not valid if the IPL device is
|
||
|
+ * not a CCW device.
|
||
|
+ * User action:
|
||
|
+ * Do not specify the 'ipldev' keyword when performing an IPL from a device
|
||
|
+ * other than a CCW device.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "A closing parenthesis ')' is missing in the dasd= parameter\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Description:
|
||
|
+ * The specification for the dasd= kernel or module parameter has an opening
|
||
|
+ * parenthesis '(' * without a matching closing parenthesis ')'.
|
||
|
+ * User action:
|
||
|
+ * Correct the parameter value.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "The autodetection mode has been activated\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Description:
|
||
|
+ * The autodetection mode of the DASD device driver has been activated. In
|
||
|
+ * this mode the DASD device driver sets all detected DASDs online.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%*s is not a supported device option\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: length of option code
|
||
|
+ * @2: option code
|
||
|
+ * Description:
|
||
|
+ * The dasd= parameter includes an unknown option for a DASD or a device range.
|
||
|
+ * Options are specified in parenthesis and immediately follow a device or
|
||
|
+ * device range.
|
||
|
+ * User action:
|
||
|
+ * Check the dasd= syntax and remove any unsupported options from the dasd=
|
||
|
+ * parameter specification.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "PAV support has be deactivated\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Description:
|
||
|
+ * The 'nopav' keyword has been specified with the dasd= kernel or module
|
||
|
+ * parameter. The Parallel Access Volume (PAV) support of the DASD device
|
||
|
+ * driver has been deactivated.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "'nopav' is not supported on z/VM\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Description:
|
||
|
+ * For Linux instances that run as guest operating systems of the z/VM
|
||
|
+ * hypervisor Parallel Access Volume (PAV) support is controlled by z/VM not
|
||
|
+ * by Linux.
|
||
|
+ * User action:
|
||
|
+ * Remove 'nopav' from the dasd= module or kernel parameter specification.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "High Performance FICON support has been deactivated\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Description:
|
||
|
+ * The 'nofcx' keyword has been specified with the dasd= kernel or module
|
||
|
+ * parameter. The High Performance FICON (transport mode) support of the DASD
|
||
|
+ * device driver has been deactivated.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "The dasd= parameter value %s has an invalid ending\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: parameter value
|
||
|
+ * Description:
|
||
|
+ * The specified value for the dasd= kernel or module parameter is not correct.
|
||
|
+ * User action:
|
||
|
+ * Check the module or the kernel parameter.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Registering the device driver with major number %d failed\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: DASD major
|
||
|
+ * Description:
|
||
|
+ * Major number 94 is reserved for the DASD device driver. The DASD device
|
||
|
+ * driver failed to register with this major number. Another device driver
|
||
|
+ * might have used major number 94.
|
||
|
+ * User action:
|
||
|
+ * Determine which device driver uses major number 94 instead of the DASD
|
||
|
+ * device driver and unload this device driver. Then try again to load the
|
||
|
+ * DASD device driver.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: default ERP has run out of retries and failed\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * The error recovery procedure (ERP) tried to recover an error but the number
|
||
|
+ * of retries for the I/O was exceeded before the error could be resolved.
|
||
|
+ * User action:
|
||
|
+ * Check for related previous error messages.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Unable to terminate request %p on suspend\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * @2: pointer to request
|
||
|
+ * Description:
|
||
|
+ * As part of the suspend process, the DASD device driver terminates requests
|
||
|
+ * on the request queue. This failed because a previously started I/O operation
|
||
|
+ * could not be canceled. The suspend process will be stopped.
|
||
|
+ * User action:
|
||
|
+ * Try again to suspend the system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: ERP failed for the DASD\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * An error recovery procedure (ERP) was performed for the DASD but failed.
|
||
|
+ * User action:
|
||
|
+ * Check the message log for previous related error messages.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: An error occurred in the DASD device driver, reason=%s\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * @2: reason code
|
||
|
+ * Description:
|
||
|
+ * This problem indicates a program error in the DASD device driver.
|
||
|
+ * User action:
|
||
|
+ * Note the reason code and contact your support organization.
|
||
|
+*/
|
||
|
--- /dev/null
|
||
|
+++ b/Documentation/kmsg/s390/dasd-diag
|
||
|
@@ -0,0 +1,118 @@
|
||
|
+/* dasd_diag */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: A 64-bit DIAG call failed\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * 64-bit DIAG calls require a 64-bit z/VM version.
|
||
|
+ * User action:
|
||
|
+ * Use z/VM 5.2 or later or set the sysfs 'use_diag' attribute of the DASD to 0
|
||
|
+ * to switch off DIAG.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Accessing the DASD failed because of an incorrect format (rc=%d)\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * @2: return code
|
||
|
+ * Description:
|
||
|
+ * The format of the DASD is not correct.
|
||
|
+ * User action:
|
||
|
+ * Check the device format. For details about the return code see the
|
||
|
+ * section about the INITIALIZE function for DIAGNOSE Code X'250'
|
||
|
+ * in "z/VM CP Programming Services". If you cannot resolve the error, note
|
||
|
+ * the return code and contact your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: New DASD with %ld byte/block, total size %ld KB%s\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * @2: bytes per block
|
||
|
+ * @3: size
|
||
|
+ * @4: access mode
|
||
|
+ * Description:
|
||
|
+ * A DASD with the indicated block size and total size has been set online.
|
||
|
+ * If the DASD is configured as read-only to the real or virtual hardware,
|
||
|
+ * the message includes an indication of this hardware access mode. The
|
||
|
+ * hardware access mode is independent from the 'readonly' attribute of
|
||
|
+ * the device in sysfs.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: DIAG ERP failed with rc=%d\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * @2: return code
|
||
|
+ * Description:
|
||
|
+ * An error in the DIAG processing could not be recovered by the error
|
||
|
+ * recovery procedure (ERP) of the DIAG discipline.
|
||
|
+ * User action:
|
||
|
+ * Note the return code, check for related I/O errors, and report this problem
|
||
|
+ * to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: DIAG initialization failed with rc=%d\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * @2: return code
|
||
|
+ * Description:
|
||
|
+ * Initializing the DASD with the DIAG discipline failed. Possible reasons for
|
||
|
+ * this problem are that the device has a device type other than FBA or ECKD,
|
||
|
+ * or has a block size other than one of the supported sizes:
|
||
|
+ * 512 byte, 1024 byte, 2048 byte, or 4096 byte.
|
||
|
+ * User action:
|
||
|
+ * Ensure that the device can be written to and has a supported device type
|
||
|
+ * and block size. For details about the return code see the section about
|
||
|
+ * the INITIALIZE function for DIAGNOSE Code X'250' in "z/VM CP Programming
|
||
|
+ * Services". If you cannot resolve the error, note the error code and contact
|
||
|
+ * your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Device type %d is not supported in DIAG mode\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * @2: device type
|
||
|
+ * Description:
|
||
|
+ * Only DASD of type FBA and ECKD are supported in DIAG mode.
|
||
|
+ * User action:
|
||
|
+ * Set the sysfs 'use_diag' attribute of the DASD to 0 and try again to access
|
||
|
+ * the DASD.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Discipline %s cannot be used without z/VM\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: discipline name
|
||
|
+ * Description:
|
||
|
+ * The discipline that is specified with the dasd= kernel or module parameter
|
||
|
+ * is only available for Linux instances that run as guest operating
|
||
|
+ * systems of the z/VM hypervisor.
|
||
|
+ * User action:
|
||
|
+ * Remove the unsupported discipline from the parameter string.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The access mode of a DIAG device changed to read-only"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * A device changed its access mode from writeable to
|
||
|
+ * read-only while in use.
|
||
|
+ * User action:
|
||
|
+ * Set the device offline, ensure that the device is configured correctly in
|
||
|
+ * z/VM, then set the device online again.
|
||
|
+ */
|
||
|
--- /dev/null
|
||
|
+++ b/Documentation/kmsg/s390/dasd-eckd
|
||
|
@@ -0,0 +1,1901 @@
|
||
|
+/* dasd_eckd */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: ERP failed for the DASD\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * An error recovery procedure (ERP) was performed for the DASD but failed.
|
||
|
+ * User action:
|
||
|
+ * Check the message log for previous related error messages.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: An error occurred in the DASD device driver, reason=%s\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * @2: reason code
|
||
|
+ * Description:
|
||
|
+ * This problem indicates a program error in the DASD device driver.
|
||
|
+ * User action:
|
||
|
+ * Note the reason code and contact your support organization.
|
||
|
+*/
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Allocating memory for private DASD data failed\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * The DASD device driver maintains data structures for each DASD it manages.
|
||
|
+ * There is not enough memory to allocate these data structures for one or
|
||
|
+ * more DASD.
|
||
|
+ * User action:
|
||
|
+ * Free some memory and try the operation again.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: DASD with %d KB/block, %d KB total size, %d KB/track, %s\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * @2: block size
|
||
|
+ * @3: DASD size
|
||
|
+ * @4: track size
|
||
|
+ * @5: disc layout
|
||
|
+ * Description:
|
||
|
+ * A DASD with the shown characteristics has been set online.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Start track number %d used in formatting is too big\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * @2: track number
|
||
|
+ * Description:
|
||
|
+ * The DASD format I/O control was used incorrectly by a formatting tool.
|
||
|
+ * User action:
|
||
|
+ * Contact the owner of the formatting tool.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The DASD is not formatted\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * A DASD has been set online but it has not been formatted yet. You must
|
||
|
+ * format the DASD before you can use it.
|
||
|
+ * User action:
|
||
|
+ * Format the DASD, for example, with dasdfmt.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: 0x%x is not a known command\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * @2: command
|
||
|
+ * Description:
|
||
|
+ * This problem is likely to be caused by a programming error.
|
||
|
+ * User action:
|
||
|
+ * Contact your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Track 0 has no records following the VTOC\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * Linux has identified a volume table of contents (VTOC) on the DASD but
|
||
|
+ * cannot read any data records following the VTOC. A possible cause of this
|
||
|
+ * problem is that the DASD has been used with another System z operating
|
||
|
+ * system.
|
||
|
+ * User action:
|
||
|
+ * Format the DASD for usage with Linux, for example, with dasdfmt.
|
||
|
+ * ATTENTION: Formatting irreversibly destroys all data on the DASD.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: An I/O control call used incorrect flags 0x%x\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * @2: flags
|
||
|
+ * Description:
|
||
|
+ * The DASD format I/O control was used incorrectly.
|
||
|
+ * User action:
|
||
|
+ * Contact the owner of the formatting tool.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: New DASD %04X/%02X (CU %04X/%02X) with %d cylinders, %d heads, %d sectors\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * @2: device type
|
||
|
+ * @3: device model
|
||
|
+ * @4: control unit type
|
||
|
+ * @5: control unit model
|
||
|
+ * @6: number of cylinders
|
||
|
+ * @7: tracks per cylinder
|
||
|
+ * @8: sectors per track
|
||
|
+ * Description:
|
||
|
+ * A DASD with the shown characteristics has been set online.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The disk layout of the DASD is not supported\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * The DASD device driver only supports the following disk layouts: CDL, LDL,
|
||
|
+ * FBA, CMS, and CMS RESERVED.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Start track %d used in formatting exceeds end track\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * @2: track number
|
||
|
+ * Description:
|
||
|
+ * The DASD format I/O control was used incorrectly by a formatting tool.
|
||
|
+ * User action:
|
||
|
+ * Contact the owner of the formatting tool.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The DASD cache mode was set to %x (%i cylinder prestage)\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * @2: operation mode
|
||
|
+ * @3: number of cylinders
|
||
|
+ * Description:
|
||
|
+ * The DASD cache mode has been changed. See the storage system documentation
|
||
|
+ * for information about the different cache operation modes.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The DASD cannot be formatted with block size %d\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * @2: block size
|
||
|
+ * Description:
|
||
|
+ * The block size specified for a format instruction is not valid. The block
|
||
|
+ * size must be between 512 and 4096 byte and must be a power of 2.
|
||
|
+ * User action:
|
||
|
+ * Call the format command with a supported block size.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The UID of the DASD has changed\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * The Unique Identifier (UID) of a DASD that is currently in use has changed.
|
||
|
+ * This indicates that the physical disk has been replaced.
|
||
|
+ * User action:
|
||
|
+ * None if the replacement was intentional.
|
||
|
+ * If the disk change is not expected, stop using the disk to prevent possible
|
||
|
+ * data loss.
|
||
|
+*/
|
||
|
+
|
||
|
+
|
||
|
+/* dasd_3990_erp */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: is offline or not installed - INTERVENTION REQUIRED!!\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * The DASD to be accessed is not in an accessible state. The I/O operation
|
||
|
+ * will wait until the device is operational again. This is an operating system
|
||
|
+ * independent message that is issued by the storage system.
|
||
|
+ * User action:
|
||
|
+ * Make the DASD accessible again. For details see the storage system
|
||
|
+ * documentation.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The DASD cannot be reached on any path (lpum=%x/opm=%x)\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * @2: last path used mask
|
||
|
+ * @3: online path mask
|
||
|
+ * Description:
|
||
|
+ * After a path to the DASD failed, the error recovery procedure of the DASD
|
||
|
+ * device driver tried but failed to reconnect the DASD through an alternative
|
||
|
+ * path.
|
||
|
+ * User action:
|
||
|
+ * Ensure that the cabling between the storage server and the mainframe
|
||
|
+ * system is securely in place. Check the file systems on the DASD when it is
|
||
|
+ * accessible again.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Unable to allocate DCTL-CQR\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an internal error.
|
||
|
+ * User action:
|
||
|
+ * Contact your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 0 - Invalid Parameter\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * A data argument of a command is not valid. This is an operating system
|
||
|
+ * independent message that is issued by the storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 0 - DPS Installation Check\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This operating system independent message is issued by the storage system
|
||
|
+ * for one of the following reasons:
|
||
|
+ * - A 3380 Model D or E DASD does not have the Dynamic Path Selection (DPS)
|
||
|
+ * feature in the DASD A-unit.
|
||
|
+ * - The device type of an attached DASD is not supported by the firmware.
|
||
|
+ * - A type 3390 DASD is attached to a 3 MB channel.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 2 - Reserved\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 1 - Drive motor switch is off\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 0 - CCW Count less than required\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * The CCW count of a command is less than required. This is an operating
|
||
|
+ * system independent message that is issued by the storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 0 - Channel requested ... %02x\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * @2: reason code
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system. The possible reason codes indicate the following problems:
|
||
|
+ * 00 No Message.
|
||
|
+ * 01 The channel has requested unit check sense data.
|
||
|
+ * 02 The channel has requested retry and retry is exhausted.
|
||
|
+ * 03 A SA Check-2 error has occurred. This sense is presented with
|
||
|
+ * Equipment Check.
|
||
|
+ * 04 The channel has requested retry and retry is not possible.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 0 - Status Not As Required: reason %02x\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * @2: reason code
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system. There are several potential reasons for this message;
|
||
|
+ * byte 8 contains the reason code.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 4 - Reserved\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 1 - Device status 1 not valid\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 0 - Storage Path Restart\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * An operation for an active channel program was queued in a Storage Control
|
||
|
+ * when a warm start was received by the path. This is an operating system
|
||
|
+ * independent message that is issued by the storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 0 - Reset Notification\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * A system reset or its equivalent was received on an interface. The Unit
|
||
|
+ * Check that generates this sense is posted to the next channel initiated
|
||
|
+ * selection following the resetting event. This is an operating system
|
||
|
+ * independent message that is issued by the storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 0 - Invalid Command Sequence\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * An incorrect sequence of commands has occurred. This is an operating system
|
||
|
+ * independent message that is issued by the storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 1 - Missing device address bit\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT F - Subsystem Processing Error\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * A firmware logic error has been detected. This is an operating system
|
||
|
+ * independent message that is issued by the storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 1 - Seek incomplete\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 0 - Invalid Command\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * A command was issued that is not in the 2107/1750 command set.
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 0 - Reserved\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 0 - Command Invalid on Secondary Address\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * A command or order not allowed on a PPRC secondary device has been received
|
||
|
+ * by the secondary device. This is an operating system independent message
|
||
|
+ * that is issued by the storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 0 - Invalid Defective/Alternate Track Pointer\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * A defective track has been accessed. The subsystem generates an invalid
|
||
|
+ * Defective/Alternate Track Pointer as a part of RAID Recovery.
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 0 - Channel Returned with Incorrect retry CCW\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * A command portion of the CCW returned after a command retry sequence does
|
||
|
+ * not match the command for which retry was signaled. This is an operating
|
||
|
+ * system independent message that is issued by the storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 0 - Diagnostic of Special Command Violates File Mask\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * A command is not allowed under the Access Authorization specified by the
|
||
|
+ * File Mask. This is an operating system independent message that is issued
|
||
|
+ * by the storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 1 - Head address does not compare\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 1 - Reserved\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 1 - Device did not respond to selection\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 1 - Device check-2 error or Set Sector is not complete\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 0 - Device Error Source\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * The device has completed soft error logging. This is an operating system
|
||
|
+ * independent message that is issued by the storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 0 - Data Pinned for Device\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * Modified data in cache or in persistent storage exists for the DASD. The
|
||
|
+ * data cannot be destaged to the device. This track is the first track pinned
|
||
|
+ * for this device. This is an operating system independent message that is
|
||
|
+ * issued by the storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 6 - Overrun on channel C\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 1 - Device Status 1 not as expected\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 0 - Device Fenced - device = %02x\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * @2: sense data byte 4
|
||
|
+ * Description:
|
||
|
+ * The device shown in sense byte 4 has been fenced. This is an operating
|
||
|
+ * system independent message that is issued by the storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 1 - Interruption cannot be reset\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 1 - Index missing\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT F - DASD Fast Write inhibited\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * DASD Fast Write is not allowed because of a nonvolatile storage battery
|
||
|
+ * check condition. This is an operating system independent message that is
|
||
|
+ * issued by the storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 7 - Invalid tag-in for an extended command sequence\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 4 - Key area error; offset active\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 4 - Count area error; offset active\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 1 - Track physical address did not compare\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 2 - 3990 check-2 error\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 1 - Offset active cannot be reset\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 7 - RCC 1 and RCC 2 sequences not successful\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 4 - No syn byte in count address area; offset active\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 4 - Data area error\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 6 - Overrun on channel A\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 4 - No sync byte in count address area\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 5 - Data Check in the key area\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT F - Caching status reset to default\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * The storage director has assigned two new subsystem status devices and
|
||
|
+ * resets the status to its default value. This is an operating system
|
||
|
+ * independent message that is issued by the storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 5 - Data Check in the data area; offset active\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 5 - Reserved\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 1 - Device not ready\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 4 - No sync byte in key area\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 8 - DASD controller failed to set or reset the long busy latch\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 1 - Cylinder address did not compare\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 3 - Reserved\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 4 - No syn byte in data area; offset active\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 2 - Support facility errors\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 4 - Key area error\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 8 - End operation with transfer count not zero\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 2 - Microcode detected error %02x\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * @2: error code
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 5 - Data Check in the count area; offset active\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 3 - Allegiance terminated\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * Allegiance terminated because of a Reset Allegiance or an Unconditional
|
||
|
+ * Reserve command on another channel. This is an operating system independent
|
||
|
+ * message that is issued by the storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 4 - Home address area error\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 4 - Count area error\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 7 - Invalid tag-in during selection sequence\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 4 - No sync byte in data area\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 4 - No sync byte in home address area; offset active\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 4 - Home address area error; offset active\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 4 - Data area error; offset active\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 4 - No sync byte in home address area\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 5 - Data Check in the home address area; offset active\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 5 - Data Check in the home address area\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 5 - Data Check in the count area\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 4 - No sync byte in key area; offset active\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 7 - Invalid DCC selection response or timeout\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 5 - Data Check in the data area\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT F - Operation Terminated\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * The storage system ends an operation related to an active channel program
|
||
|
+ * when termination and redrive are required and logging is not desired.
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 6 - Overrun on channel B\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 5 - Data Check in the key area; offset active\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT F - Volume is suspended duplex\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * The duplex pair volume has entered the suspended duplex state because of a
|
||
|
+ * failure. This is an operating system independent message that is issued by
|
||
|
+ * the storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 6 - Overrun on channel D\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 7 - RCC 1 sequence not successful\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 6 - Overrun on channel E\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 7 - 3990 microcode time out when stopping selection\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 6 - Overrun on channel F\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 6 - Reserved\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 7 - RCC initiated by a connection check alert\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 6 - Overrun on channel G\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 7 - extra RCC required\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 6 - Overrun on channel H\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 8 - Unexpected end operation response code\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 7 - Permanent path error (DASD controller not available)\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 7 - Missing end operation; device transfer incomplete\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT D - Reserved\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT F - Cache or nonvolatile storage equipment failure\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * An equipment failure has occurred in the cache storage or nonvolatile
|
||
|
+ * storage of the storage system. This is an operating system independent
|
||
|
+ * message that is issued by the storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 8 - DPS cannot be filled\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 8 - Error correction code hardware fault\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 7 - Missing end operation; device transfer complete\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 7 - DASD controller not available on disconnected command chain\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 8 - No interruption from device during a command chain\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 7 - No response to selection after a poll interruption\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 9 - Track physical address did not compare while oriented\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 9 - Head address did not compare\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 7 - Invalid tag-in for an immediate command sequence\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 9 - Cylinder address did not compare\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 8 - DPS checks after a system reset or selective reset\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT F - Caching reinitiated\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * Caching has been automatically reinitiated following an error.
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 8 - End operation with transfer count zero\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 7 - Reserved\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 9 - Reserved\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 8 - Short busy time-out during device selection\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT F - Caching terminated\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * The storage system was unable to initiate caching or had to suspend caching
|
||
|
+ * for a 3990 control unit. If this problem is caused by a failure condition,
|
||
|
+ * an additional message will provide more information about the failure.
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * Check for additional messages that point out possible failures. For more
|
||
|
+ * information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT F - Subsystem status cannot be determined\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * The status of a DASD Fast Write or PPRC volume cannot be determined.
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT F - Nonvolatile storage terminated\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * The storage director has stopped using nonvolatile storage or cannot
|
||
|
+ * initiate nonvolatile storage. If this problem is caused by a failure, an
|
||
|
+ * additional message will provide more information about the failure. This is
|
||
|
+ * an operating system independent message that is issued by the storage system.
|
||
|
+ * User action:
|
||
|
+ * Check for additional messages that point out possible failures. For more
|
||
|
+ * information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 8 - Reserved\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Write inhibited path encountered\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an informational message.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT 9 - Device check-2 error\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent message that is issued by the
|
||
|
+ * storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT F - Track format incorrect\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * A track format error occurred while data was being written to the DASD or
|
||
|
+ * while a duplex pair was being established. This is an operating system
|
||
|
+ * independent message that is issued by the storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FORMAT F - Cache fast write access not authorized\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * A request for Cache Fast Write Data access cannot be satisfied because
|
||
|
+ * of missing access authorization for the storage system. This is an operating
|
||
|
+ * system independent message that is issued by the storage system.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Data recovered during retry with PCI fetch mode active\n"
|
||
|
+ * Severity: Emerg
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * A data error has been recovered on the storages system but the Linux file
|
||
|
+ * system cannot be informed about the data mismatch. To prevent Linux from
|
||
|
+ * running with incorrect data, the DASD device driver will trigger a kernel
|
||
|
+ * panic.
|
||
|
+ * User action:
|
||
|
+ * Reset your real or virtual hardware and reboot Linux.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The specified record was not found\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * The record to be accessed does not exist. The DASD might be unformatted
|
||
|
+ * or defect.
|
||
|
+ * User action:
|
||
|
+ * Try to format the DASD or replace it.
|
||
|
+ * ATTENTION: Formatting irreversibly destroys all data on the DASD.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: ERP %p (%02x) refers to %p\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * @2: pointer to ERP
|
||
|
+ * @3: ERP status
|
||
|
+ * @4: cqr
|
||
|
+ * Description:
|
||
|
+ * This message provides debug information for the enhanced error recovery
|
||
|
+ * procedure (ERP).
|
||
|
+ * User action:
|
||
|
+ * If you do not need this information, you can suppress this message by
|
||
|
+ * switching off ERP logging, for example, by writing '1' to the 'erplog'
|
||
|
+ * sysfs attribute of the DASD.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: ERP chain at END of ERP-ACTION\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This message provides debug information for the enhanced error recovery
|
||
|
+ * procedure (ERP).
|
||
|
+ * User action:
|
||
|
+ * If you do not need this information, you can suppress this message by
|
||
|
+ * switching off ERP logging, for example, by writing '1' to the 'erplog'
|
||
|
+ * sysfs attribute of the DASD.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The cylinder data for accessing the DASD is inconsistent\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * An error occurred in the storage system hardware.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Accessing the DASD failed because of a hardware error\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * An error occurred in the storage system hardware.
|
||
|
+ * User action:
|
||
|
+ * For more information see the documentation of your storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: ERP chain at BEGINNING of ERP-ACTION\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * This message provides debug information for the enhanced error recovery
|
||
|
+ * procedure (ERP).
|
||
|
+ * User action:
|
||
|
+ * If you do not need this information, you can suppress this message by
|
||
|
+ * switching off ERP logging, for example, by writing '1' to the 'erplog'
|
||
|
+ * sysfs attribute of the DASD.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: ERP %p has run out of retries and failed\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * @2: ERP pointer
|
||
|
+ * Description:
|
||
|
+ * The error recovery procedure (ERP) tried to recover an error but the number
|
||
|
+ * of retries for the I/O was exceeded before the error could be resolved.
|
||
|
+ * User action:
|
||
|
+ * Check for related previous error messages.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: ERP failed\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * The error recovery procedure (ERP) tried to recover an error but has
|
||
|
+ * failed. A retry is not recommended. The I/O will also fail.
|
||
|
+ * User action:
|
||
|
+ * Check for related previous error messages.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: SIM - SRC: %02x%02x%02x%02x\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * @2: sense byte
|
||
|
+ * @3: sense byte
|
||
|
+ * @4: sense byte
|
||
|
+ * @5: sense byte
|
||
|
+ * Description:
|
||
|
+ * This error message is a System Information Message (SIM) generated by the
|
||
|
+ * storage system. The System Reference Code (SRC) defines the error in detail.
|
||
|
+ * User action:
|
||
|
+ * Look up the SRC in the storage server documentation.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: log SIM - SRC: %02x%02x%02x%02x\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * @2: sense byte
|
||
|
+ * @3: sense byte
|
||
|
+ * @4: sense byte
|
||
|
+ * @5: sense byte
|
||
|
+ * Description:
|
||
|
+ * This System Information Message (SIM) is generated by the storage system.
|
||
|
+ * The System Reference Code (SRC) defines the error in detail.
|
||
|
+ * User action:
|
||
|
+ * Look up the SRC in the storage server documentation.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Reading device feature codes failed with rc=%d\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * @2: return code
|
||
|
+ * Description:
|
||
|
+ * The device feature codes state which advanced features are supported by a
|
||
|
+ * device.
|
||
|
+ * Examples for advanced features are PAV or high performance FICON.
|
||
|
+ * Some early devices do not provide feature codes and no advanced features are
|
||
|
+ * available on these devices.
|
||
|
+ * User action:
|
||
|
+ * None, if the DASD does not provide feature codes. If the DASD provides
|
||
|
+ * feature codes, make sure that it is working correctly, then set it offline
|
||
|
+ * and back online.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: A channel path group could not be established\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * Initialization of a DASD did not complete because a channel path group
|
||
|
+ * could not be established.
|
||
|
+ * User action:
|
||
|
+ * Make sure that the DASD is working correctly, then try again to set it
|
||
|
+ * online. If initialization still fails, reboot.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The DASD is not operating in multipath mode\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * The DASD channel path group could not be configured to use multipath mode.
|
||
|
+ * This might negatively affect I/O performance on this DASD.
|
||
|
+ * User action:
|
||
|
+ * Make sure that the DASD is working correctly, then try again to set it
|
||
|
+ * online. If initialization still fails, reboot.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Detecting the DASD disk layout failed because of an I/O error\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * The disk layout of the DASD could not be detected because of an unexpected
|
||
|
+ * I/O error. The DASD device driver treats the device like an unformatted DASD,
|
||
|
+ * and partitions on the device are not accessible.
|
||
|
+ * User action:
|
||
|
+ * If the DASD is formatted, make sure that the DASD is working correctly,
|
||
|
+ * then set it offline and back online. If the DASD is unformatted, format the
|
||
|
+ * DASD, for example, with dasdfmt.
|
||
|
+ * ATTENTION: Formatting irreversibly destroys all data on the DASD.
|
||
|
+ */
|
||
|
--- /dev/null
|
||
|
+++ b/Documentation/kmsg/s390/dasd-fba
|
||
|
@@ -0,0 +1,30 @@
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: New FBA DASD %04X/%02X (CU %04X/%02X) with %d MB and %d B/blk\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * @2: device type
|
||
|
+ * @3: device model
|
||
|
+ * @4: control unit type
|
||
|
+ * @5: control unit model
|
||
|
+ * @6: size
|
||
|
+ * @7: bytes per block
|
||
|
+ * Description:
|
||
|
+ * A DASD with the shown characteristics has been set online.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Allocating memory for private DASD data failed\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the DASD
|
||
|
+ * Description:
|
||
|
+ * The DASD device driver maintains data structures for each DASD it manages.
|
||
|
+ * There is not enough memory to allocate these data structures for one or
|
||
|
+ * more DASD.
|
||
|
+ * User action:
|
||
|
+ * Free some memory and try the operation again.
|
||
|
+ */
|
||
|
--- /dev/null
|
||
|
+++ b/Documentation/kmsg/s390/dcssblk
|
||
|
@@ -0,0 +1,192 @@
|
||
|
+/*?
|
||
|
+ * Text: "Adjacent DCSSs %s and %s are not contiguous\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: name 1
|
||
|
+ * @2: name 2
|
||
|
+ * Description:
|
||
|
+ * You can only map a set of two or more DCSSs to a single DCSS device if the
|
||
|
+ * DCSSs in the set form a contiguous memory space. The DCSS device cannot be
|
||
|
+ * created because there is a memory gap between two adjacent DCSSs.
|
||
|
+ * User action:
|
||
|
+ * Ensure that you have specified all DCSSs that belong to the set. Check the
|
||
|
+ * definitions of the DCSSs on the z/VM hypervisor to verify that they form
|
||
|
+ * a contiguous memory space.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "DCSS %s and DCSS %s have incompatible types\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: name 1
|
||
|
+ * @2: name 2
|
||
|
+ * Description:
|
||
|
+ * You can only map a set of two or more DCSSs to a single DCSS device if
|
||
|
+ * either all DCSSs in the set have the same type or if the set contains DCSSs
|
||
|
+ * of the two types EW and EN but no other type. The DCSS device cannot be
|
||
|
+ * created because at least two of the specified DCSSs are not compatible.
|
||
|
+ * User action:
|
||
|
+ * Check the definitions of the DCSSs on the z/VM hypervisor to verify that
|
||
|
+ * their types are compatible.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "DCSS %s is of type SC and cannot be loaded as exclusive-writable\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: device name
|
||
|
+ * Description:
|
||
|
+ * You cannot load a DCSS device in exclusive-writable access mode if the DCSS
|
||
|
+ * devise maps to one or more DCSSs of type SC.
|
||
|
+ * User action:
|
||
|
+ * Load the DCSS in shared access mode.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "DCSS device %s is removed after a failed access mode change\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: device name
|
||
|
+ * Description:
|
||
|
+ * To change the access mode of a DCSS device, all DCSSs that map to the device
|
||
|
+ * were unloaded. Reloading the DCSSs for the new access mode failed and the
|
||
|
+ * device is removed.
|
||
|
+ * User action:
|
||
|
+ * Look for related messages to find out why the DCSSs could not be reloaded.
|
||
|
+ * If necessary, add the device again.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "All DCSSs that map to device %s are saved\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: device name
|
||
|
+ * Description:
|
||
|
+ * A save request has been submitted for the DCSS device. Changes to all DCSSs
|
||
|
+ * that map to the device are saved permanently.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Device %s is in use, its DCSSs will be saved when it becomes idle\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: device name
|
||
|
+ * Description:
|
||
|
+ * A save request for the device has been deferred until the device becomes
|
||
|
+ * idle. Then changes to all DCSSs that the device maps to will be saved
|
||
|
+ * permanently.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "A pending save request for device %s has been canceled\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: device name
|
||
|
+ * Description:
|
||
|
+ * A save request for the DCSSs that map to a DCSS device has been pending
|
||
|
+ * while the device was in use. This save request has been canceled. Changes to
|
||
|
+ * the DCSSs will not be saved permanently.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Loaded %s with total size %lu bytes and capacity %lu sectors\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: DCSS names
|
||
|
+ * @2: total size in bytes
|
||
|
+ * @3: total size in 512 byte sectors
|
||
|
+ * Description:
|
||
|
+ * The listed DCSSs have been verified as contiguous and successfully loaded.
|
||
|
+ * The displayed sizes are the sums of all DCSSs.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Device %s cannot be removed because it is not a known device\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: device name
|
||
|
+ * Description:
|
||
|
+ * The DCSS device you are trying to remove is not known to the DCSS device
|
||
|
+ * driver.
|
||
|
+ * User action:
|
||
|
+ * List the entries under /sys/devices/dcssblk/ to see the names of the
|
||
|
+ * existing DCSS devices.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Device %s cannot be removed while it is in use\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: device name
|
||
|
+ * Description:
|
||
|
+ * You are trying to remove a device that is in use.
|
||
|
+ * User action:
|
||
|
+ * Make sure that all users of the device close the device before you try to
|
||
|
+ * remove it.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Device %s has become idle and is being saved now\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: device name
|
||
|
+ * Description:
|
||
|
+ * A save request for the DCSSs that map to a DCSS device has been pending
|
||
|
+ * while the device was in use. The device has become idle and all changes
|
||
|
+ * to the DCSSs are now saved permanently.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Writing to %s failed because it is a read-only device\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: device name
|
||
|
+ * Description:
|
||
|
+ * The DCSS device is in shared access mode and cannot be written to. Depending
|
||
|
+ * on the type of the DCSSs that the device maps to, you might be able to
|
||
|
+ * change the access mode to exclusive-writable.
|
||
|
+ * User action:
|
||
|
+ * If the DCSSs of the device are of type SC, do not attempt to write to the
|
||
|
+ * device. If the DCSSs of the device are of type ER or SR, change the access
|
||
|
+ * mode to exclusive-writable before writing to the device.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "The address range of DCSS %s changed while the system was suspended\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: device name
|
||
|
+ * Description:
|
||
|
+ * After resuming the system, the start address or end address of a DCSS does
|
||
|
+ * not match the address when the system was suspended. DCSSs must not be
|
||
|
+ * changed after the system was suspended.
|
||
|
+ * This error cannot be recovered. The system is stopped with a kernel panic.
|
||
|
+ * User action:
|
||
|
+ * Reboot Linux.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Suspending the system failed because DCSS device %s is writable\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: device name
|
||
|
+ * Description:
|
||
|
+ * A system cannot be suspended if one or more DCSSs are accessed in exclusive-
|
||
|
+ * writable mode. DCSS segment types EW, SW, and EN are always writable and
|
||
|
+ * must be removed before a system is suspended.
|
||
|
+ * User action:
|
||
|
+ * Remove all DCSSs of segment types EW, SW, and EN by writing the DCSS name to
|
||
|
+ * the sysfs 'remove' attribute. Set the access mode for all DCSSs of segment
|
||
|
+ * types SR and ER to read-only by writing 1 to the sysfs 'shared' attribute of
|
||
|
+ * the DCSS. Then try again to suspend the system.
|
||
|
+ */
|
||
|
--- /dev/null
|
||
|
+++ b/Documentation/kmsg/s390/extmem
|
||
|
@@ -0,0 +1,290 @@
|
||
|
+/*?
|
||
|
+ * Text: "Querying a DCSS type failed with rc=%ld\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: return code
|
||
|
+ * Description:
|
||
|
+ * The DCSS kernel interface used z/VM diagnose call X'64' to query the
|
||
|
+ * type of a DCSS. z/VM failed to determine the type and returned an error.
|
||
|
+ * User action:
|
||
|
+ * Look for related messages to find out which DCSS is affected.
|
||
|
+ * For details about the return codes see the section about DIAGNOSE Code
|
||
|
+ * X'64' in "z/VM CP Programming Services".
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Loading DCSS %s failed with rc=%ld\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: DCSS name
|
||
|
+ * @2: return code
|
||
|
+ * Description:
|
||
|
+ * The DCSS kernel interface used diagnose call X'64' to load a DCSS. z/VM
|
||
|
+ * failed to load the DCSS and returned an error.
|
||
|
+ * User action:
|
||
|
+ * For details about the return codes see the section about DIAGNOSE Code
|
||
|
+ * X'64' in "z/VM CP Programming Services".
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "DCSS %s of range %p to %p and type %s loaded as exclusive-writable\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: DCSS name
|
||
|
+ * @2: starting page address
|
||
|
+ * @3: ending page address
|
||
|
+ * @4: DCSS type
|
||
|
+ * Description:
|
||
|
+ * The DCSS was loaded successfully in exclusive-writable access mode.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "DCSS %s of range %p to %p and type %s loaded in shared access mode\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: DCSS name
|
||
|
+ * @2: starting page address
|
||
|
+ * @3: ending page address
|
||
|
+ * @4: DCSS type
|
||
|
+ * Description:
|
||
|
+ * The DCSS was loaded successfully in shared access mode.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "DCSS %s is already in the requested access mode\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: DCSS name
|
||
|
+ * Description:
|
||
|
+ * A request to reload a DCSS with a new access mode has been rejected
|
||
|
+ * because the new access mode is the same as the current access mode.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "DCSS %s is in use and cannot be reloaded\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: DCSS name
|
||
|
+ * Description:
|
||
|
+ * Reloading a DCSS in a different access mode has failed because the DCSS is
|
||
|
+ * being used by one or more device drivers. The DCSS remains loaded with the
|
||
|
+ * current access mode.
|
||
|
+ * User action:
|
||
|
+ * Ensure that the DCSS is not used by any device driver then try again to
|
||
|
+ * load the DCSS with the new access mode.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "DCSS %s overlaps with used memory resources and cannot be reloaded\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: DCSS name
|
||
|
+ * Description:
|
||
|
+ * The DCSS has been unloaded and cannot be reloaded because it overlaps with
|
||
|
+ * another loaded DCSS or with the memory of the z/VM guest virtual machine
|
||
|
+ * (guest storage).
|
||
|
+ * User action:
|
||
|
+ * Ensure that no DCSS is loaded that has overlapping memory resources
|
||
|
+ * with the DCSS you want to reload. If the DCSS overlaps with guest storage,
|
||
|
+ * use the DEF STORE CONFIG z/VM CP command to create a sufficient storage gap
|
||
|
+ * for the DCSS. For details, see the section about the DCSS device driver in
|
||
|
+ * "Device Drivers, Features, and Commands".
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Reloading DCSS %s failed with rc=%ld\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: DCSS name
|
||
|
+ * @2: return code
|
||
|
+ * Description:
|
||
|
+ * The DCSS kernel interface used z/VM diagnose call X'64' to reload a DCSS
|
||
|
+ * in a different access mode. The DCSS was unloaded but z/VM failed to reload
|
||
|
+ * the DCSS.
|
||
|
+ * User action:
|
||
|
+ * For details about the return codes see the section about DIAGNOSE Code
|
||
|
+ * X'64' in "z/VM CP Programming Services".
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Unloading unknown DCSS %s failed\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: DCSS name
|
||
|
+ * Description:
|
||
|
+ * The specified DCSS cannot be unloaded. The DCSS is known to the DCSS device
|
||
|
+ * driver but not to the DCSS kernel interface. This problem indicates a
|
||
|
+ * program error in extmem.c.
|
||
|
+ * User action:
|
||
|
+ * Report this problem to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Saving unknown DCSS %s failed\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: DCSS name
|
||
|
+ * Description:
|
||
|
+ * The specified DCSS cannot be saved. The DCSS is known to the DCSS device
|
||
|
+ * driver but not to the DCSS kernel interface. This problem indicates a
|
||
|
+ * program error in extmem.c.
|
||
|
+ * User action:
|
||
|
+ * Report this problem to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Saving a DCSS failed with DEFSEG response code %i\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: response-code
|
||
|
+ * Description:
|
||
|
+ * The DEFSEG z/VM CP command failed to permanently save changes to a DCSS.
|
||
|
+ * User action:
|
||
|
+ * Look for related messages to find the cause of this error. See also message
|
||
|
+ * HCP<response-code>E in the DEFSEG section of the "z/VM CP Command and
|
||
|
+ * Utility Reference".
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Saving a DCSS failed with SAVESEG response code %i\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: response-code
|
||
|
+ * Description:
|
||
|
+ * The SAVESEG z/VM CP command failed to permanently save changes to a DCSS.
|
||
|
+ * User action:
|
||
|
+ * Look for related messages to find the cause of this error. See also message
|
||
|
+ * HCP<response-code>E in the SAVESEG section of the "z/VM CP Command and
|
||
|
+ * Utility Reference".
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "DCSS %s cannot be loaded or queried\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: DCSS name
|
||
|
+ * Description:
|
||
|
+ * You cannot load or query the specified DCSS because it either is not defined
|
||
|
+ * in the z/VM hypervisor, or it is a class S DCSS, or it is above 2047 MB
|
||
|
+ * and he Linux system is a 31-bit system.
|
||
|
+ * User action:
|
||
|
+ * Use the CP command "QUERY NSS" to find out if the DCSS is a valid
|
||
|
+ * DCSS that can be loaded.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "DCSS %s cannot be loaded or queried without z/VM\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: DCSS name
|
||
|
+ * Description:
|
||
|
+ * A DCSS is a z/VM resource. Your Linux instance is not running as a z/VM
|
||
|
+ * guest operating system and, therefore, cannot load DCSSs.
|
||
|
+ * User action:
|
||
|
+ * Load DCSSs only on Linux instances that run as z/VM guest operating systems.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Loading or querying DCSS %s resulted in a hardware error\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: DCSS name
|
||
|
+ * Description:
|
||
|
+ * Either the z/VM DIAGNOSE X'64' query or load call issued for the DCSS
|
||
|
+ * returned with an error.
|
||
|
+ * User action:
|
||
|
+ * Look for previous extmem message to find the return code from the
|
||
|
+ * DIAGNOSE X'64' query or load call. For details about the return codes see
|
||
|
+ * the section about DIAGNOSE Code X'64' in "z/VM CP Programming Services".
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "DCSS %s has multiple page ranges and cannot be loaded or queried\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: DCSS name
|
||
|
+ * Description:
|
||
|
+ * You can only load or query a DCSS with multiple page ranges if:
|
||
|
+ * - The DCSS has 6 or fewer page ranges
|
||
|
+ * - The page ranges form a contiguous address space
|
||
|
+ * - The page ranges are of type EW or EN
|
||
|
+ * User action:
|
||
|
+ * Check the definition of the DCSS to make sure that the conditions for
|
||
|
+ * DCSSs with multiple page ranges are met.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s needs used memory resources and cannot be loaded or queried\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: DCSS name
|
||
|
+ * Description:
|
||
|
+ * You cannot load or query the DCSS because it overlaps with an already
|
||
|
+ * loaded DCSS or with the memory of the z/VM guest virtual machine
|
||
|
+ * (guest storage).
|
||
|
+ * User action:
|
||
|
+ * Ensure that no DCSS is loaded that has overlapping memory resources
|
||
|
+ * with the DCSS you want to load or query. If the DCSS overlaps with guest
|
||
|
+ * storage, use the DEF STORE CONFIG z/VM CP command to create a sufficient
|
||
|
+ * storage gap for the DCSS. For details, see the section about the DCSS
|
||
|
+ * device driver in "Device Drivers, Features, and Commands".
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "DCSS %s is already loaded in a different access mode\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: DCSS name
|
||
|
+ * Description:
|
||
|
+ * The DCSS you are trying to load has already been loaded in a different
|
||
|
+ * access mode. You cannot simultaneously load the DCSS in different modes.
|
||
|
+ * User action:
|
||
|
+ * Reload the DCSS in a different mode or load it with the same mode in which
|
||
|
+ * it has already been loaded.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "There is not enough memory to load or query DCSS %s\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: DCSS name
|
||
|
+ * Description:
|
||
|
+ * The available memory is not enough to load or query the DCSS.
|
||
|
+ * User action:
|
||
|
+ * Free some memory and repeat the failed operation.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "DCSS %s overlaps with used storage and cannot be loaded\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: DCSS name
|
||
|
+ * Description:
|
||
|
+ * You cannot load the DCSS because it overlaps with an already loaded DCSS
|
||
|
+ * or with the memory of the z/VM guest virtual machine (guest storage).
|
||
|
+ * User action:
|
||
|
+ * Ensure that no DCSS is loaded that has overlapping memory resources
|
||
|
+ * with the DCSS you want to load. If the DCSS overlaps with guest storage,
|
||
|
+ * use the DEF STORE CONFIG z/VM CP command to create a sufficient storage gap
|
||
|
+ * for the DCSS. For details, see the section about the DCSS device driver in
|
||
|
+ * "Device Drivers, Features, and Commands".
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "DCSS %s exceeds the kernel mapping range (%lu) and cannot be loaded\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: DCSS name
|
||
|
+ * @2: kernel mapping range in bytes
|
||
|
+ * Description:
|
||
|
+ * You cannot load the DCSS because it exceeds the kernel mapping range limit.
|
||
|
+ * User action:
|
||
|
+ * Ensure that the DCSS range is defined below the kernel mapping range.
|
||
|
+ */
|
||
|
+
|
||
|
--- /dev/null
|
||
|
+++ b/Documentation/kmsg/s390/hvc_iucv
|
||
|
@@ -0,0 +1,122 @@
|
||
|
+/*?
|
||
|
+ * Text: "The z/VM IUCV HVC device driver cannot be used without z/VM\n"
|
||
|
+ * Severity: Notice
|
||
|
+ * Description:
|
||
|
+ * The z/VM IUCV hypervisor console (HVC) device driver requires the
|
||
|
+ * z/VM inter-user communication vehicle (IUCV).
|
||
|
+ * User action:
|
||
|
+ * Set "hvc_iucv=" to zero in the kernel parameter line and reboot Linux.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%lu is not a valid value for the hvc_iucv= kernel parameter\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: hvc_iucv_devices
|
||
|
+ * Description:
|
||
|
+ * The "hvc_iucv=" kernel parameter specifies the number of z/VM IUCV
|
||
|
+ * hypervisor console (HVC) terminal devices.
|
||
|
+ * The parameter value ranges from 0 to 8.
|
||
|
+ * If zero is specified, the z/VM IUCV HVC device driver is disabled
|
||
|
+ * and no IUCV-based terminal access is available.
|
||
|
+ * User action:
|
||
|
+ * Correct the "hvc_iucv=" setting in the kernel parameter line and
|
||
|
+ * reboot Linux.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Creating a new HVC terminal device failed with error code=%d\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: errno
|
||
|
+ * Description:
|
||
|
+ * The device driver initialization failed to allocate a new
|
||
|
+ * HVC terminal device.
|
||
|
+ * A possible cause of this problem is memory constraints.
|
||
|
+ * User action:
|
||
|
+ * If the error code is -12 (ENOMEM), consider assigning more memory
|
||
|
+ * to your z/VM guest virtual machine.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Registering HVC terminal device as Linux console failed\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Description:
|
||
|
+ * The device driver initialization failed to set up the first HVC terminal
|
||
|
+ * device for use as Linux console.
|
||
|
+ * User action:
|
||
|
+ * If the error code is -12 (ENOMEM), consider assigning more memory
|
||
|
+ * to your z/VM guest virtual machine.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Registering IUCV handlers failed with error code=%d\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: errno
|
||
|
+ * Description:
|
||
|
+ * The device driver initialization failed to register with z/VM IUCV to
|
||
|
+ * handle IUCV connections, as well as sending and receiving of IUCV messages.
|
||
|
+ * User action:
|
||
|
+ * Check for related IUCV error messages and see the errno manual page
|
||
|
+ * to find out what caused the problem.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Allocating memory failed with reason code=%d\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: reason
|
||
|
+ * Description:
|
||
|
+ * The z/VM IUCV hypervisor console (HVC) device driver initialization failed,
|
||
|
+ * because of a general memory allocation failure. The reason code indicates
|
||
|
+ * the memory operation that has failed:
|
||
|
+ * kmem_cache (reason code=1),
|
||
|
+ * mempool (reason code=2), or
|
||
|
+ * hvc_iucv_allow= (reason code=3)
|
||
|
+ * User action:
|
||
|
+ * Consider assigning more memory to your z/VM guest virtual machine.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "hvc_iucv_allow= does not specify a valid z/VM user ID list\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Description:
|
||
|
+ * The "hvc_iucv_allow=" kernel parameter specifies a comma-separated list
|
||
|
+ * of z/VM user IDs that are permitted to connect to the z/VM IUCV hypervisor
|
||
|
+ * device driver.
|
||
|
+ * The z/VM user IDs in the list must not exceed eight characters and must
|
||
|
+ * not contain spaces.
|
||
|
+ * User action:
|
||
|
+ * Correct the "hvc_iucv_allow=" setting in the kernel parameter line and reboot
|
||
|
+ * Linux.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "hvc_iucv_allow= specifies too many z/VM user IDs\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Description:
|
||
|
+ * The "hvc_iucv_allow=" kernel parameter specifies a comma-separated list
|
||
|
+ * of z/VM user IDs that are permitted to connect to the z/VM IUCV hypervisor
|
||
|
+ * device driver.
|
||
|
+ * The number of z/VM user IDs that are specified with the "hvc_iucv_allow="
|
||
|
+ * kernel parameter exceeds the maximum of 500.
|
||
|
+ * User action:
|
||
|
+ * Correct the "hvc_iucv_allow=" setting by reducing the z/VM user IDs in
|
||
|
+ * the list and reboot Linux.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "A connection request from z/VM user ID %s was refused\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: ID
|
||
|
+ * Description:
|
||
|
+ * An IUCV connection request from another z/VM guest virtual machine has been
|
||
|
+ * refused. The request was from a z/VM guest virtual machine that is not
|
||
|
+ * listed by the "hvc_iucv_allow=" kernel parameter.
|
||
|
+ * User action:
|
||
|
+ * Check the "hvc_iucv_allow=" kernel parameter setting.
|
||
|
+ * Consider adding the z/VM user ID to the "hvc_iucv_allow=" list in the kernel
|
||
|
+ * parameter line and reboot Linux.
|
||
|
+ */
|
||
|
--- /dev/null
|
||
|
+++ b/Documentation/kmsg/s390/hypfs
|
||
|
@@ -0,0 +1,56 @@
|
||
|
+/*?
|
||
|
+ * Text: "The hardware system does not support hypfs\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Description:
|
||
|
+ * hypfs requires DIAGNOSE Code X'204' but this diagnose code is not available
|
||
|
+ * on your hardware. You need more recent hardware to use hypfs.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "The hardware system does not provide all functions required by hypfs\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Description:
|
||
|
+ * hypfs requires DIAGNOSE Code X'224' but this diagnode code is not available
|
||
|
+ * on your hardware. You need more recent hardware to use hypfs.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Updating the hypfs tree failed\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Description:
|
||
|
+ * There was not enough memory available to update the hypfs tree.
|
||
|
+ * User action:
|
||
|
+ * Free some memory and try again to update the hypfs tree. Consider assigning
|
||
|
+ * more memory to your LPAR or z/VM guest virtual machine.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s is not a valid mount option\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: mount option
|
||
|
+ * Description:
|
||
|
+ * hypfs has detected mount options that are not valid.
|
||
|
+ * User action:
|
||
|
+ * See "Device Drivers Features and Commands" for information about valid
|
||
|
+ * mount options for hypfs.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Initialization of hypfs failed with rc=%i\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: error code
|
||
|
+ * Description:
|
||
|
+ * Initialization of hypfs failed because of resource or hardware constraints.
|
||
|
+ * Possible reasons for this problem are insufficient free memory or missing
|
||
|
+ * hardware interfaces.
|
||
|
+ * User action:
|
||
|
+ * See errno.h for information about the error codes.
|
||
|
+ */
|
||
|
+
|
||
|
+/*? Text: "Hypervisor filesystem mounted\n" */
|
||
|
--- /dev/null
|
||
|
+++ b/Documentation/kmsg/s390/iucv
|
||
|
@@ -0,0 +1,33 @@
|
||
|
+/*?
|
||
|
+ * Text: "Defining an interrupt buffer on CPU %i failed with 0x%02x (%s)\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: CPU number
|
||
|
+ * @2: hexadecimal error value
|
||
|
+ * @3: short error code explanation
|
||
|
+ * Description:
|
||
|
+ * Defining an interrupt buffer for external interrupts failed. Error
|
||
|
+ * value 0x03 indicates a problem with the z/VM directory entry of the
|
||
|
+ * z/VM guest virtual machine. This problem can also be caused by a
|
||
|
+ * program error.
|
||
|
+ * User action:
|
||
|
+ * If the error value is 0x03, examine the z/VM directory entry of your
|
||
|
+ * z/VM guest virtual machine. If the directory entry is correct or if the
|
||
|
+ * error value is not 0x03, report this problem to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Suspending Linux did not completely close all IUCV connections\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Description:
|
||
|
+ * When resuming a suspended Linux instance, the IUCV base code found
|
||
|
+ * data structures from one or more IUCV connections that existed before the
|
||
|
+ * Linux instance was suspended. Modules that use IUCV connections must close
|
||
|
+ * these connections when a Linux instance is suspended. This problem
|
||
|
+ * indicates an error in a program that used an IUCV connection.
|
||
|
+ * User action:
|
||
|
+ * Report this problem to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*? Text: "iucv_external_interrupt: out of memory\n" */
|
||
|
+
|
||
|
--- /dev/null
|
||
|
+++ b/Documentation/kmsg/s390/lcs
|
||
|
@@ -0,0 +1,161 @@
|
||
|
+/*?
|
||
|
+ * Text: "%s: Allocating a socket buffer to interface %s failed\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the LCS device
|
||
|
+ * @2: network interface
|
||
|
+ * Description:
|
||
|
+ * LAN channel station (LCS) devices require a socket buffer (SKB) structure
|
||
|
+ * for storing incoming data. The LCS device driver failed to allocate an SKB
|
||
|
+ * structure to the LCS device. A likely cause of this problem is memory
|
||
|
+ * constraints.
|
||
|
+ * User action:
|
||
|
+ * Free some memory and repeat the failed operation.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Shutting down the LCS device failed\n "
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the LCS device
|
||
|
+ * Description:
|
||
|
+ * A request to shut down a LAN channel station (LCS) device resulted in an
|
||
|
+ * error. The error is logged in the LCS trace at trace level 4.
|
||
|
+ * User action:
|
||
|
+ * Try again to shut down the device. If the error persists, see the LCS trace
|
||
|
+ * to find out what causes the error.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Detecting a network adapter for LCS devices failed with rc=%d (0x%x)\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the LCS device
|
||
|
+ * @2: lcs_detect return code in decimal notation
|
||
|
+ * @3: lcs_detect return code in hexadecimal notation
|
||
|
+ * Description:
|
||
|
+ * The LCS device driver could not initialize a network adapter.
|
||
|
+ * User action:
|
||
|
+ * Note the return codes from the error message and contact IBM support.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: A recovery process has been started for the LCS device\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the LCS device
|
||
|
+ * Description:
|
||
|
+ * The LAN channel station (LCS) device is shut down and restarted. The recovery
|
||
|
+ * process might have been initiated by a user or started automatically as a
|
||
|
+ * response to a device problem.
|
||
|
+ * User action:
|
||
|
+ * Wait until a message indicates the completion of the recovery process.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: An I/O-error occurred on the LCS device\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the LCS device
|
||
|
+ * Description:
|
||
|
+ * The LAN channel station (LCS) device reported a problem that can be recovered
|
||
|
+ * by the LCS device driver. Repeated occurrences of this problem indicate a
|
||
|
+ * malfunctioning device.
|
||
|
+ * User action:
|
||
|
+ * If this problem occurs frequently, initiate a recovery process for the
|
||
|
+ * device, for example, by writing '1' to the 'recover' sysfs attribute of the
|
||
|
+ * device.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: A command timed out on the LCS device\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the LCS device
|
||
|
+ * Description:
|
||
|
+ * The LAN channel station (LCS) device reported a problem that can be recovered
|
||
|
+ * by the LCS device driver. Repeated occurrences of this problem indicate a
|
||
|
+ * malfunctioning device.
|
||
|
+ * User action:
|
||
|
+ * If this problem occurs frequently, initiate a recovery process for the
|
||
|
+ * device, for example, by writing '1' to the 'recover' sysfs attribute of the
|
||
|
+ * device.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: An error occurred on the LCS device, rc=%ld\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the LCS device
|
||
|
+ * @2: return code
|
||
|
+ * Description:
|
||
|
+ * The LAN channel station (LCS) device reported a problem that can be recovered
|
||
|
+ * by the LCS device driver. Repeated occurrences of this problem indicate a
|
||
|
+ * malfunctioning device.
|
||
|
+ * User action:
|
||
|
+ * If this problem occurs frequently, initiate a recovery process for the
|
||
|
+ * device, for example, by writing '1' to the 'recover' sysfs attribute of the
|
||
|
+ * device.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The LCS device stopped because of an error, dstat=0x%X, cstat=0x%X \n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the LCS device
|
||
|
+ * @2: device status
|
||
|
+ * @3: subchannel status
|
||
|
+ * Description:
|
||
|
+ * The LAN channel station (LCS) device reported an error. The LCS device driver
|
||
|
+ * might start a device recovery process.
|
||
|
+ * User action:
|
||
|
+ * If the device driver does not start a recovery process, initiate a recovery
|
||
|
+ * process, for example, by writing '1' to the 'recover' sysfs attribute of the
|
||
|
+ * device. If the problem persists, note the status information provided with
|
||
|
+ * the message and contact IBM support.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Starting an LCS device resulted in an error, rc=%d!\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the LCS device
|
||
|
+ * @2: ccw_device_start return code in decimal notation
|
||
|
+ * Description:
|
||
|
+ * The LAN channel station (LCS) device driver failed to initialize an LCS
|
||
|
+ * device. The device is not operational.
|
||
|
+ * User action:
|
||
|
+ * Initiate a recovery process, for example, by writing '1' to the 'recover'
|
||
|
+ * sysfs attribute of the device. If the problem persists, contact IBM support.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Sending data from the LCS device to the LAN failed with rc=%d\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the LCS device
|
||
|
+ * @2: ccw_device_resume return code in decimal notation
|
||
|
+ * Description:
|
||
|
+ * The LAN channel station (LCS) device driver could not send data to the LAN
|
||
|
+ * using the LCS device. This might be a temporary problem. Operations continue
|
||
|
+ * on the LCS device.
|
||
|
+ * User action:
|
||
|
+ * If this problem occurs frequently, initiate a recovery process, for example,
|
||
|
+ * by writing '1' to the 'recover' sysfs attribute of the device. If the
|
||
|
+ * problem persists, contact IBM support.
|
||
|
+ */
|
||
|
+
|
||
|
+/*? Text: "Query IPAssist failed. Assuming unsupported!\n" */
|
||
|
+/*? Text: "Stoplan for %s initiated by LGW.\n" */
|
||
|
+/*? Text: "Not enough memory to add new multicast entry!\n" */
|
||
|
+/*? Text: "Not enough memory for debug facility.\n" */
|
||
|
+/*? Text: "Adding multicast address failed. Table possibly full!\n" */
|
||
|
+/*? Text: "Error in opening device!\n" */
|
||
|
+/*? Text: "LCS device %s %s IPv6 support\n" */
|
||
|
+/*? Text: "Device %s successfully recovered!\n" */
|
||
|
+/*? Text: "LCS device %s %s Multicast support\n" */
|
||
|
+/*? Text: " Initialization failed\n" */
|
||
|
+/*? Text: "Loading %s\n" */
|
||
|
+/*? Text: "Initialization failed\n" */
|
||
|
+/*? Text: "Terminating lcs module.\n" */
|
||
|
+/*? Text: "Device %s could not be recovered!\n" */
|
||
|
--- /dev/null
|
||
|
+++ b/Documentation/kmsg/s390/monreader
|
||
|
@@ -0,0 +1,127 @@
|
||
|
+/*?
|
||
|
+ * Text: "Reading monitor data failed with rc=%i\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: return code
|
||
|
+ * Description:
|
||
|
+ * The z/VM *MONITOR record device driver failed to read monitor data
|
||
|
+ * because the IUCV REPLY function failed. The read function against
|
||
|
+ * the monitor record device returns EIO. All monitor data that has been read
|
||
|
+ * since the last read with 0 size is incorrect.
|
||
|
+ * User action:
|
||
|
+ * Disregard all monitor data that has been read since the last read with
|
||
|
+ * 0 size. If the device driver has been compiled as a separate module, unload
|
||
|
+ * and reload the monreader module. If the device driver has been compiled
|
||
|
+ * into the kernel, reboot Linux. For more information about possible causes
|
||
|
+ * of the error see the IUCV section in "z/VM CP Programming Services" and
|
||
|
+ * the *MONITOR section in "z/VM Performance".
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "z/VM *MONITOR system service disconnected with rc=%i\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: IPUSER SEVER return code
|
||
|
+ * Description:
|
||
|
+ * The z/VM *MONITOR record device driver receives monitor records through
|
||
|
+ * an IUCV connection to the z/VM *MONITOR system service. This connection
|
||
|
+ * has been severed and the read function of the z/VM *MONITOR device driver
|
||
|
+ * returns EIO. All data received since the last read with 0 size is incorrect.
|
||
|
+ * User action:
|
||
|
+ * Disregard all monitor data read since the last read with 0 size. Close and
|
||
|
+ * reopen the monitor record device. For information about the IPUSER SEVER
|
||
|
+ * return codes see "z/VM Performance".
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "The read queue for monitor data is full\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Description:
|
||
|
+ * The read function of the z/VM *MONITOR device driver returns EOVERFLOW
|
||
|
+ * because not enough monitor data has been read since the monitor device
|
||
|
+ * has been opened. Monitor data already read are valid and subsequent reads
|
||
|
+ * return valid data but some intermediate data might be missing.
|
||
|
+ * User action:
|
||
|
+ * Be aware that monitor data might be missing. Assure that you regularly
|
||
|
+ * read monitor data after opening the monitor record device.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Connecting to the z/VM *MONITOR system service failed with rc=%i\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: IUCV CONNECT return code
|
||
|
+ * Description:
|
||
|
+ * The z/VM *MONITOR record device driver receives monitor records through
|
||
|
+ * an IUCV connection to the z/VM *MONITOR system service. This connection
|
||
|
+ * could not be established when the monitor record device was opened. If
|
||
|
+ * the return code is 15, your z/VM guest virtual machine is not authorized
|
||
|
+ * to connect to the *MONITOR system service.
|
||
|
+ * User action:
|
||
|
+ * If the return code is 15, ensure that the IUCV *MONITOR statement is
|
||
|
+ * included in the z/VM directory entry for your z/VM guest virtual machine.
|
||
|
+ * For other IUCV CONNECT return codes see the IUCV section in "CP Programming
|
||
|
+ * Services" and the *MONITOR section in "z/VM Performance".
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Disconnecting the z/VM *MONITOR system service failed with rc=%i\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: IUCV SEVER return code
|
||
|
+ * Description:
|
||
|
+ * The z/VM *MONITOR record device driver receives monitor data through an
|
||
|
+ * IUCV connection to the z/VM *MONITOR system service. This connection
|
||
|
+ * could not be closed when the monitor record device was closed. You might
|
||
|
+ * not be able to resume monitoring.
|
||
|
+ * User action:
|
||
|
+ * No immediate action is necessary. If you cannot open the monitor record
|
||
|
+ * device in the future, reboot Linux. For information about the IUCV SEVER
|
||
|
+ * return codes see the IUCV section in "CP Programming Services" and the
|
||
|
+ * *MONITOR section in "z/VM Performance".
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "The z/VM *MONITOR record device driver cannot be loaded without z/VM\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Description:
|
||
|
+ * The z/VM *MONITOR record device driver uses z/VM system services to provide
|
||
|
+ * monitor data about z/VM guest operating systems to applications on Linux.
|
||
|
+ * On Linux instances that run in environments other than the z/VM hypervisor,
|
||
|
+ * the z/VM *MONITOR record device driver does not provide any useful
|
||
|
+ * function and the corresponding monreader module cannot be loaded.
|
||
|
+ * User action:
|
||
|
+ * Load the z/VM *MONITOR record device driver only on Linux instances that run
|
||
|
+ * as guest operating systems of the z/VM hypervisor. If the z/VM *MONITOR
|
||
|
+ * record device driver has been compiled into the kernel, ignore this message.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "The z/VM *MONITOR record device driver failed to register with IUCV\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Description:
|
||
|
+ * The z/VM *MONITOR record device driver receives monitor data through an IUCV
|
||
|
+ * connection and needs to register with the IUCV device driver. This
|
||
|
+ * registration failed and the z/VM *MONITOR record device driver was not
|
||
|
+ * loaded. A possible cause of this problem is insufficient memory.
|
||
|
+ * User action:
|
||
|
+ * Free some memory and try again to load the module. If the z/VM *MONITOR
|
||
|
+ * record device driver has been compiled into the kernel, you might have to
|
||
|
+ * configure more memory and reboot Linux. If you do not want to read monitor
|
||
|
+ * data, ignore this message.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "The specified *MONITOR DCSS %s does not have the required type SC\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: DCSS name
|
||
|
+ * Description:
|
||
|
+ * The DCSS that was specified with the monreader.mondcss kernel parameter or
|
||
|
+ * with the mondcss module parameter cannot be a *MONITOR DCSS because it is
|
||
|
+ * not of type SC.
|
||
|
+ * User action:
|
||
|
+ * Confirm that you are using the name of the DCSS that has been configured as
|
||
|
+ * the *MONITOR DCSS on the z/VM hypervisor. If the default name, MONDCSS, is
|
||
|
+ * used, omit the monreader.mondcss or mondcss parameter.
|
||
|
+ */
|
||
|
--- /dev/null
|
||
|
+++ b/Documentation/kmsg/s390/monwriter
|
||
|
@@ -0,0 +1,16 @@
|
||
|
+/*?
|
||
|
+ * Text: "Writing monitor data failed with rc=%i\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: return code
|
||
|
+ * Description:
|
||
|
+ * The monitor stream application device driver used the z/VM diagnose call
|
||
|
+ * DIAG X'DC' to start writing monitor data. z/VM returned an error and the
|
||
|
+ * monitor data cannot be written. If the return code is 5, your z/VM guest
|
||
|
+ * virtual machine is not authorized to write monitor data.
|
||
|
+ * User action:
|
||
|
+ * If the return code is 5, ensure that your z/VM guest virtual machine's
|
||
|
+ * entry in the z/VM directory includes the OPTION APPLMON statement.
|
||
|
+ * For other return codes see the section about DIAGNOSE Code X'DC'
|
||
|
+ * in "z/VM CP Programming Services".
|
||
|
+ */
|
||
|
--- /dev/null
|
||
|
+++ b/Documentation/kmsg/s390/netiucv
|
||
|
@@ -0,0 +1,139 @@
|
||
|
+/*?
|
||
|
+ * Text: "%s: The peer interface of the IUCV device has closed the connection\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the IUCV device
|
||
|
+ * Description:
|
||
|
+ * The peer interface on the remote z/VM guest virtual machine has closed the
|
||
|
+ * connection. Do not expect further packets on this interface. Any packets
|
||
|
+ * you send to this interface will be dropped.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The IUCV device failed to connect to z/VM guest %s\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the IUCV device
|
||
|
+ * @2: z/VM user ID
|
||
|
+ * Description:
|
||
|
+ * The connection cannot be established because the z/VM guest virtual
|
||
|
+ * machine with the peer interface is not running.
|
||
|
+ * User action:
|
||
|
+ * Ensure that the z/VM guest virtual machine with the peer interface is
|
||
|
+ * running; then try again to establish the connection.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The IUCV device failed to connect to the peer on z/VM guest %s\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the IUCV device
|
||
|
+ * @2: z/VM user ID
|
||
|
+ * Description:
|
||
|
+ * The connection cannot be established because the z/VM guest virtual machine
|
||
|
+ * with the peer interface is not configured for IUCV connections.
|
||
|
+ * User action:
|
||
|
+ * Configure the z/VM guest virtual machine with the peer interface for IUCV
|
||
|
+ * connections; then try again to establish the connection.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Connecting the IUCV device would exceed the maximum number of IUCV connections\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the IUCV device
|
||
|
+ * Description:
|
||
|
+ * The connection cannot be established because the maximum number of IUCV
|
||
|
+ * connections has been reached on the local z/VM guest virtual machine.
|
||
|
+ * User action:
|
||
|
+ * Close some of the established IUCV connections on the local z/VM guest
|
||
|
+ * virtual machine; then try again to establish the connection.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: z/VM guest %s has too many IUCV connections to connect with the IUCV device\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the IUCV device
|
||
|
+ * @2: remote z/VM user ID
|
||
|
+ * Description:
|
||
|
+ * Connecting to the remote z/VM guest virtual machine failed because the
|
||
|
+ * maximum number of IUCV connections for the remote z/VM guest virtual
|
||
|
+ * machine has been reached.
|
||
|
+ * User action:
|
||
|
+ * Close some of the established IUCV connections on the remote z/VM guest
|
||
|
+ * virtual machine; then try again to establish the connection.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The IUCV device cannot connect to a z/VM guest with no IUCV authorization\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the IUCV device
|
||
|
+ * Description:
|
||
|
+ * Because the remote z/VM guest virtual machine is not authorized for IUCV
|
||
|
+ * connections, the connection cannot be established.
|
||
|
+ * User action:
|
||
|
+ * Add the statements 'IUCV ALLOW' and 'IUCV ANY' to the z/VM directory
|
||
|
+ * entry of the remote z/VM guest virtual machine; then try again to
|
||
|
+ * establish the connection. See "z/VM CP Planning and Administration"
|
||
|
+ * for details about the IUCV statements.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Connecting the IUCV device failed with error %d\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the IUCV device
|
||
|
+ * @2: error code
|
||
|
+ * Description:
|
||
|
+ * The connection cannot be established because of an IUCV CONNECT error.
|
||
|
+ * User action:
|
||
|
+ * Report this problem to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The IUCV device has been connected successfully to %s\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the IUCV device
|
||
|
+ * @2: remote z/VM user ID
|
||
|
+ * Description:
|
||
|
+ * The connection has been established and the interface is ready to
|
||
|
+ * transmit communication packages.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The IUCV interface to %s has been established successfully\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the IUCV device
|
||
|
+ * @2: remote z/VM user ID
|
||
|
+ * Description:
|
||
|
+ * The IUCV interface to the remote z/VM guest virtual machine has been
|
||
|
+ * established and can be activated with "ifconfig up" or an equivalent
|
||
|
+ * command.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The IUCV device is connected to %s and cannot be removed\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the IUCV device
|
||
|
+ * @2: remote z/VM user ID
|
||
|
+ * Description:
|
||
|
+ * Removing a connection failed because the interface is active with a peer
|
||
|
+ * interface on a remote z/VM guest virtual machine.
|
||
|
+ * User action:
|
||
|
+ * Deactivate the interface with "ifconfig down" or an equivalent command;
|
||
|
+ * then try again to remove the interface.
|
||
|
+ */
|
||
|
+
|
||
|
+/*? Text: "driver unloaded\n" */
|
||
|
+/*? Text: "driver initialized\n" */
|
||
|
--- /dev/null
|
||
|
+++ b/Documentation/kmsg/s390/qeth
|
||
|
@@ -0,0 +1,606 @@
|
||
|
+/*?
|
||
|
+ * Text: "%s: The LAN is offline\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the qeth device
|
||
|
+ * Description:
|
||
|
+ * A start LAN command was sent by the qeth device driver but the physical or
|
||
|
+ * virtual adapter has not started the LAN. The LAN might take a few seconds
|
||
|
+ * to become available.
|
||
|
+ * User action:
|
||
|
+ * Check the status of the qeth device, for example, with the lsqeth command.
|
||
|
+ * If the device does not become operational within a few seconds, initiate a
|
||
|
+ * recovery process, for example, by writing '1' to the 'recover' sysfs
|
||
|
+ * attribute of the device.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The user canceled setting the qeth device offline\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the qeth device
|
||
|
+ * Description:
|
||
|
+ * A user initiated setting the device offline but subsequently canceled the
|
||
|
+ * operation, for example, with CTRL+C.
|
||
|
+ * User action:
|
||
|
+ * Check the status of the qeth device, for example, with the lsqeth command.
|
||
|
+ * If necessary, repeat the operation to set the device offline.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: A recovery process has been started for the device\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the qeth device
|
||
|
+ * Description:
|
||
|
+ * A recovery process was started either by the qeth device driver or through
|
||
|
+ * a user command.
|
||
|
+ * User action:
|
||
|
+ * Wait until a message indicates the completion of the recovery process.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The qeth device driver failed to recover an error on the device\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the qeth device
|
||
|
+ * Description:
|
||
|
+ * The qeth device driver performed an automatic recovery operation to recover
|
||
|
+ * an error on a qeth device. The recovery operation failed.
|
||
|
+ * User action:
|
||
|
+ * Try the following actions in the given order: i) Check the status of the
|
||
|
+ * qeth device, for example, with the lsqeth command. ii) Initiate a recovery
|
||
|
+ * process by writing '1' to the 'recover' sysfs attribute of the device.
|
||
|
+ * iii) Ungroup and regroup the subchannel triplet of the device. vi) Reboot
|
||
|
+ * Linux. v) If the problem persists, gather Linux debug data and report the
|
||
|
+ * problem to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The link for interface %s on CHPID 0x%X failed\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the qeth device
|
||
|
+ * @2: network interface name
|
||
|
+ * @3: CHPID
|
||
|
+ * Description:
|
||
|
+ * A network link failed. A possible reason for this error is that a physical
|
||
|
+ * network cable has been disconnected.
|
||
|
+ * User action:
|
||
|
+ * Ensure that the network cable on the adapter hardware is connected properly.
|
||
|
+ * If the connection is to a guest LAN, ensure that the device is still coupled
|
||
|
+ * to the guest LAN.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The link for %s on CHPID 0x%X has been restored\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the qeth device
|
||
|
+ * @2: network interface name
|
||
|
+ * @3: CHPID
|
||
|
+ * Description:
|
||
|
+ * A failed network link has been re-established. A device recovery is in
|
||
|
+ * progress.
|
||
|
+ * User action:
|
||
|
+ * Wait until a message indicates the completion of the recovery process.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: A hardware operation timed out on the device\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the qeth device
|
||
|
+ * Description:
|
||
|
+ * A hardware operation timed out on the qeth device.
|
||
|
+ * User action:
|
||
|
+ * Check the status of the qeth device, for example, with the lsqeth command.
|
||
|
+ * If the device is not operational, initiate a recovery process, for example,
|
||
|
+ * by writing '1' to the 'recover' sysfs attribute of the device.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The adapter hardware is of an unknown type\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the qeth device
|
||
|
+ * Description:
|
||
|
+ * The qeth device driver does not recognize the adapter hardware. The cause
|
||
|
+ * of this problem could be a hardware error or a Linux level that does not
|
||
|
+ * support your adapter hardware.
|
||
|
+ * User action:
|
||
|
+ * i) Investigate if your adapter hardware is supported by your Linux level.
|
||
|
+ * Consider using hardware that is supported by your Linux level or upgrading
|
||
|
+ * to a Linux level that supports your hardware. ii) Install the latest
|
||
|
+ * firmware on your adapter hardware. iii) If the problem persists and is not
|
||
|
+ * caused by a version mismatch, contact IBM support.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The adapter is used exclusively by another host\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the qeth device
|
||
|
+ * Description:
|
||
|
+ * The qeth adapter is exclusively used by another host.
|
||
|
+ * User action:
|
||
|
+ * Use another qeth adapter or configure this one not exclusively to a
|
||
|
+ * particular host.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: QDIO reported an error, rc=%i\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the qeth device
|
||
|
+ * @2: return code
|
||
|
+ * Description:
|
||
|
+ * The QDIO subsystem reported an error.
|
||
|
+ * User action:
|
||
|
+ * Check for related QDIO errors. Check the status of the qeth device, for
|
||
|
+ * example, with the lsqeth command. If the device is not operational, initiate
|
||
|
+ * a recovery process, for example, by writing '1' to the 'recover' sysfs
|
||
|
+ * attribute of the device.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: There is no kernel module to support discipline %d\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the qeth device
|
||
|
+ * @2: discipline
|
||
|
+ * Description:
|
||
|
+ * The qeth device driver or a user command requested a kernel module for a
|
||
|
+ * particular qeth discipline. Either the discipline is not supported by the
|
||
|
+ * qeth device driver or the requested module is not available to your Linux
|
||
|
+ * system.
|
||
|
+ * User action:
|
||
|
+ * Check if the requested discipline module has been compiled into the kernel
|
||
|
+ * or is present in /lib/modules/<version>/kernel/drivers/s390/net.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Initializing the qeth device driver failed\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * Description:
|
||
|
+ * The base module of the qeth device driver could not be initialized.
|
||
|
+ * User action:
|
||
|
+ * See errno.h to determine the reason for the error.
|
||
|
+ * i) Reboot Linux. ii) If the problem persists, gather Linux debug data and
|
||
|
+ * report the problem to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Registering IP address %s failed\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the qeth device
|
||
|
+ * @2: IP address
|
||
|
+ * Description:
|
||
|
+ * An IP address could not be registered with the network adapter.
|
||
|
+ * User action:
|
||
|
+ * Check if another operating system instance has already registered the
|
||
|
+ * IP address with the same network adapter or at the same logical IP subnet.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Reading the adapter MAC address failed\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the qeth device
|
||
|
+ * Description:
|
||
|
+ * The qeth device driver could not read the MAC address from the network
|
||
|
+ * adapter.
|
||
|
+ * User action:
|
||
|
+ * Ungroup and regroup the subchannel triplet of the device. If this does not
|
||
|
+ * resolve the problem, reboot Linux. If the problem persists, gather Linux
|
||
|
+ * debug data and report the problem to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Starting ARP processing support for %s failed\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the qeth device
|
||
|
+ * @2: network interface name
|
||
|
+ * Description:
|
||
|
+ * The qeth device driver could not start ARP support on the network adapter.
|
||
|
+ * User action:
|
||
|
+ * Ungroup and regroup the subchannel triplet of the device. If this does not
|
||
|
+ * resolve the problem, reboot Linux. If the problem persists, gather Linux
|
||
|
+ * debug data and report the problem to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Starting IP fragmentation support for %s failed\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the qeth device
|
||
|
+ * @2: network interface name
|
||
|
+ * Description:
|
||
|
+ * The qeth device driver could not start IP fragmentation support on the
|
||
|
+ * network adapter.
|
||
|
+ * User action:
|
||
|
+ * Ungroup and regroup the subchannel triplet of the device. If this does not
|
||
|
+ * resolve the problem, reboot Linux. If the problem persists, gather Linux
|
||
|
+ * debug data and report the problem to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Starting proxy ARP support for %s failed\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the qeth device
|
||
|
+ * @2: network interface name
|
||
|
+ * Description:
|
||
|
+ * The qeth device driver could not start proxy ARP support on the network
|
||
|
+ * adapter.
|
||
|
+ * User action:
|
||
|
+ * None if you do not require proxy ARP support. If you need proxy ARP,
|
||
|
+ * ungroup and regroup the subchannel triplet of the device. If this does not
|
||
|
+ * resolve the problem, reboot Linux. If the problem persists, gather Linux
|
||
|
+ * debug data and report the problem to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Starting VLAN support for %s failed\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the qeth device
|
||
|
+ * @2: network interface name
|
||
|
+ * Description:
|
||
|
+ * The qeth device driver could not start VLAN support on the network adapter.
|
||
|
+ * User action:
|
||
|
+ * None if you do not require VLAN support. If you need VLAN support,
|
||
|
+ * ungroup and regroup the subchannel triplet of the device. If this does not
|
||
|
+ * resolve the problem, reboot Linux. If the problem persists, gather Linux
|
||
|
+ * debug data and report the problem to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Starting multicast support for %s failed\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the qeth device
|
||
|
+ * @2: network interface name
|
||
|
+ * Description:
|
||
|
+ * The qeth device driver could not start multicast support on the network
|
||
|
+ * adapter.
|
||
|
+ * User action:
|
||
|
+ * Ungroup and regroup the subchannel triplet of the device. If this does not
|
||
|
+ * resolve the problem, reboot Linux. If the problem persists, gather Linux
|
||
|
+ * debug data and report the problem to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Activating IPv6 support for %s failed\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the qeth device
|
||
|
+ * @2: network interface name
|
||
|
+ * Description:
|
||
|
+ * The qeth device driver could not activate IPv6 support on the network
|
||
|
+ * adapter.
|
||
|
+ * User action:
|
||
|
+ * None if you do not require IPv6 communication. If you need IPv6 support,
|
||
|
+ * ungroup and regroup the subchannel triplet of the device. If this does not
|
||
|
+ * resolve the problem, reboot Linux. If the problem persists, gather Linux
|
||
|
+ * debug data and report the problem to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Enabling the passthrough mode for %s failed\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the qeth device
|
||
|
+ * @2: network interface name
|
||
|
+ * Description:
|
||
|
+ * The qeth device driver could not enable the passthrough mode on the
|
||
|
+ * network adapter. The passthrough mode is required for all network traffic
|
||
|
+ * other than IPv4. In particular, the passthrough mode is required for IPv6
|
||
|
+ * traffic.
|
||
|
+ * User action:
|
||
|
+ * None if all you want to support is IPv4 communication. If you want to support
|
||
|
+ * IPv6 or other network traffic apart from IPv4, ungroup and regroup the
|
||
|
+ * subchannel triplet of the device. If this does not resolve the problem,
|
||
|
+ * reboot Linux. If the problem persists, gather Linux debug data and report
|
||
|
+ * the problem to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Enabling broadcast filtering for %s failed\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the qeth device
|
||
|
+ * @2: network interface name
|
||
|
+ * Description:
|
||
|
+ * The qeth device driver could not enable broadcast filtering on the network
|
||
|
+ * adapter.
|
||
|
+ * User action:
|
||
|
+ * Ungroup and regroup the subchannel triplet of the device. If this does not
|
||
|
+ * resolve the problem, reboot Linux. If the problem persists, gather Linux
|
||
|
+ * debug data and report the problem to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Setting up broadcast filtering for %s failed\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the qeth device
|
||
|
+ * @2: network interface name
|
||
|
+ * Description:
|
||
|
+ * The qeth device driver could not set up broadcast filtering on the network
|
||
|
+ * adapter.
|
||
|
+ * User action:
|
||
|
+ * Ungroup and regroup the subchannel triplet of the device. If this does not
|
||
|
+ * resolve the problem, reboot Linux. If the problem persists, gather Linux
|
||
|
+ * debug data and report the problem to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Setting up broadcast echo filtering for %s failed\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the qeth device
|
||
|
+ * @2: network interface name
|
||
|
+ * Description:
|
||
|
+ * The qeth device driver could not set up broadcast echo filtering on the
|
||
|
+ * network adapter.
|
||
|
+ * User action:
|
||
|
+ * Ungroup and regroup the subchannel triplet of the device. If this does not
|
||
|
+ * resolve the problem, reboot Linux. If the problem persists, gather Linux
|
||
|
+ * debug data and report the problem to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Starting HW checksumming for %s failed, using SW checksumming\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the qeth device
|
||
|
+ * @2: network interface name
|
||
|
+ * Description:
|
||
|
+ * The network adapter supports hardware checksumming for incoming IP packages
|
||
|
+ * but the qeth device driver could not start hardware checksumming on the
|
||
|
+ * adapter. The qeth device driver continues to use software checksumming for
|
||
|
+ * incoming IP packages.
|
||
|
+ * User action:
|
||
|
+ * None if you do not require hardware checksumming for incoming network
|
||
|
+ * traffic. If you want to enable hardware checksumming, ungroup and regroup
|
||
|
+ * the subchannel triplet of the device. If this does not resolve the problem,
|
||
|
+ * reboot Linux. If the problem persists, gather Linux debug data and report
|
||
|
+ * the problem to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Enabling HW checksumming for %s failed, using SW checksumming\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the qeth device
|
||
|
+ * @2: network interface name
|
||
|
+ * Description:
|
||
|
+ * The network adapter supports hardware checksumming for incoming IP packages
|
||
|
+ * but the qeth device driver could not enable hardware checksumming on the
|
||
|
+ * adapter. The qeth device driver continues to use software checksumming for
|
||
|
+ * incoming IP packages.
|
||
|
+ * User action:
|
||
|
+ * None if you do not require hardware checksumming for incoming network
|
||
|
+ * traffic. If you want to enable hardware checksumming, ungroup and regroup
|
||
|
+ * the subchannel triplet of the device. If this does not resolve the problem,
|
||
|
+ * reboot Linux. If the problem persists, gather Linux debug data and report
|
||
|
+ * the problem to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Starting outbound TCP segmentation offload for %s failed\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the qeth device
|
||
|
+ * @2: network interface name
|
||
|
+ * Description:
|
||
|
+ * The network adapter supports TCP segmentation offload, but the qeth device
|
||
|
+ * driver could not start this support on the adapter.
|
||
|
+ * User action:
|
||
|
+ * None if you do not require TCP segmentation offload. If you want to
|
||
|
+ * enable TCP segmentation offload, ungroup and regroup the subchannel triplet
|
||
|
+ * of the device. If this does not resolve the problem, reboot Linux. If the
|
||
|
+ * problem persists, gather Linux debug data and report the problem to your
|
||
|
+ * support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The network adapter failed to generate a unique ID\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the qeth device
|
||
|
+ * Description:
|
||
|
+ * In IBM mainframe environments, network interfaces are not identified by
|
||
|
+ * a specific MAC address. Therefore, the network adapters provide the network
|
||
|
+ * interfaces with unique IDs to be used in their IPv6 link local addresses.
|
||
|
+ * Without such a unique ID, duplicate addresses might be assigned in other
|
||
|
+ * LPARs.
|
||
|
+ * User action:
|
||
|
+ * Install the latest firmware on the adapter hardware. Manually, configure
|
||
|
+ * an IPv6 link local address for this device.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "There is no IPv6 support for the layer 3 discipline\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Description:
|
||
|
+ * If you want to use IPv6 with the layer 3 discipline, you need a Linux kernel
|
||
|
+ * with IPv6 support. Because your Linux kernel has not been compiled with
|
||
|
+ * IPv6 support, you cannot use IPv6 with the layer 3 discipline, even if your
|
||
|
+ * adapter supports IPv6.
|
||
|
+ * User action:
|
||
|
+ * Use a Linux kernel that has been complied to include IPv6 support if you
|
||
|
+ * want to use IPv6 with layer 3 qeth devices.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The qeth device is not configured for the OSI layer required by z/VM\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the qeth device
|
||
|
+ * Description:
|
||
|
+ * A qeth device that connects to a virtual network on z/VM must be configured for the
|
||
|
+ * same Open Systems Interconnection (OSI) layer as the virtual network. An ETHERNET
|
||
|
+ * guest LAN or VSWITCH uses the data link layer (layer 2) while an IP guest LAN
|
||
|
+ * or VSWITCH uses the network layer (layer 3).
|
||
|
+ * User action:
|
||
|
+ * If you are connecting to an ETHERNET guest LAN or VSWITCH, set the layer2 sysfs
|
||
|
+ * attribute of the qeth device to 1. If you are connecting to an IP guest LAN or
|
||
|
+ * VSWITCH, set the layer2 sysfs attribute of the qeth device to 0.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Starting source MAC-address support for %s failed\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the qeth device
|
||
|
+ * @2: network interface name
|
||
|
+ * Description:
|
||
|
+ * The qeth device driver could not enable source MAC-address on the network
|
||
|
+ * adapter.
|
||
|
+ * User action:
|
||
|
+ * Ungroup and regroup the subchannel triplet of the device. If this does not
|
||
|
+ * resolve the problem, reboot Linux. If the problem persists, gather Linux
|
||
|
+ * debug data and report the problem to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: MAC address %2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x already exists\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the qeth device
|
||
|
+ * @2: first token of the MAC-address
|
||
|
+ * @3: second token of the MAC-address
|
||
|
+ * @4: third token of the MAC-address
|
||
|
+ * @5: fourth token of the MAC-address
|
||
|
+ * @6: fifth token of the MAC-address
|
||
|
+ * @7: sixth token of the MAC-address
|
||
|
+ * Description:
|
||
|
+ * Setting the MAC address for the qeth device fails, because this
|
||
|
+ * MAC address is already defined on the OSA CHPID.
|
||
|
+ * User action:
|
||
|
+ * Use a different MAC address for this qeth device.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: MAC address %2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x is not authorized\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the qeth device
|
||
|
+ * @2: first token of the MAC-address
|
||
|
+ * @3: second token of the MAC-address
|
||
|
+ * @4: third token of the MAC-address
|
||
|
+ * @5: fourth token of the MAC-address
|
||
|
+ * @6: fifth token of the MAC-address
|
||
|
+ * @7: sixth token of the MAC-address
|
||
|
+ * Description:
|
||
|
+ * This qeth device is a virtual network interface card (NIC), to which z/VM
|
||
|
+ * has already assigned a MAC address. z/VM MAC address verification does
|
||
|
+ * not allow you to change this predefined address.
|
||
|
+ * User action:
|
||
|
+ * None; use the MAC address that has been assigned by z/VM.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The HiperSockets network traffic analyzer is activated\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the qeth device
|
||
|
+ * Description:
|
||
|
+ * The sysfs 'sniffer' attribute of the HiperSockets device has the value '1'.
|
||
|
+ * The corresponding HiperSockets interface has been switched into promiscuous mode.
|
||
|
+ * As a result, the HiperSockets network traffic analyzer is started on the device.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+ /*?
|
||
|
+ * Text: "%s: The HiperSockets network traffic analyzer is deactivated\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the qeth device
|
||
|
+ * Description:
|
||
|
+ * The sysfs 'sniffer' attribute of the HiperSockets device has the value '1'.
|
||
|
+ * Promiscuous mode has been switched off for the corresponding HiperSockets interface
|
||
|
+ * As a result, the HiperSockets network traffic analyzer is stopped on the device.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The device is not authorized to run as a HiperSockets network traffic analyzer\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the qeth device
|
||
|
+ * Description:
|
||
|
+ * The sysfs 'sniffer' attribute of the HiperSockets device has the value '1'.
|
||
|
+ * The corresponding HiperSockets interface is switched into promiscuous mode
|
||
|
+ * but the network traffic analyzer (NTA) rules configured at the Support Element (SE)
|
||
|
+ * do not allow tracing. Possible reasons are:
|
||
|
+ * - Tracing is not authorized for all HiperSockets channels in the mainframe system
|
||
|
+ * - Tracing is not authorized for this HiperSockets channel
|
||
|
+ * - LPAR is not authorized to enable an NTA
|
||
|
+ * User action:
|
||
|
+ * Configure appropriate HiperSockets NTA rules at the SE.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: A HiperSockets network traffic analyzer is already active in the HiperSockets LAN\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the qeth device
|
||
|
+ * Description:
|
||
|
+ * The sysfs 'sniffer' attribute of the HiperSockets device has the value '1'.
|
||
|
+ * The HiperSockets interface is switched into promiscuous mode but another
|
||
|
+ * HiperSockets device on the same HiperSockets channel is already running as
|
||
|
+ * a network traffic analyzer.
|
||
|
+ * A HiperSockets channel can only have one active network traffic analyzer.
|
||
|
+ * User action:
|
||
|
+ * Do not configure multiple HiperSockets devices in the same HiperSockets channel as
|
||
|
+ * tracing devices.
|
||
|
+ */
|
||
|
+
|
||
|
+
|
||
|
+/*? Text: "core functions removed\n" */
|
||
|
+/*? Text: "%s: Device is a%s card%s%s%s\nwith link type %s.\n" */
|
||
|
+/*? Text: "%s: Device is a%s card%s%s%s\nwith link type %s (no portname needed by interface).\n" */
|
||
|
+/*? Text: "%s: Device is a%s card%s%s%s\nwith link type %s (portname: %s)\n" */
|
||
|
+/*? Text: "%s: issue_next_read failed: no iob available!\n" */
|
||
|
+/*? Text: "%s: Priority Queueing not supported\n" */
|
||
|
+/*? Text: "%s: sense data available. cstat 0x%X dstat 0x%X\n" */
|
||
|
+/*? Text: "loading core functions\n" */
|
||
|
+/*? Text: "%s: MAC address %2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x successfully registered on device %s\n" */
|
||
|
+/*? Text: "%s: Device successfully recovered!\n" */
|
||
|
+/*? Text: "register layer 2 discipline\n" */
|
||
|
+/*? Text: "unregister layer 2 discipline\n" */
|
||
|
+/*? Text: "%s: Hardware IP fragmentation not supported on %s\n" */
|
||
|
+/*? Text: "%s: IPv6 not supported on %s\n" */
|
||
|
+/*? Text: "%s: VLAN not supported on %s\n" */
|
||
|
+/*? Text: "%s: Inbound source MAC-address not supported on %s\n" */
|
||
|
+/*? Text: "%s: IPV6 enabled\n" */
|
||
|
+/*? Text: "%s: ARP processing not supported on %s!\n" */
|
||
|
+/*? Text: "%s: Hardware IP fragmentation enabled \n" */
|
||
|
+/*? Text: "%s: set adapter parameters not supported.\n" */
|
||
|
+/*? Text: "%s: VLAN enabled\n" */
|
||
|
+/*? Text: "register layer 3 discipline\n" */
|
||
|
+/*? Text: "%s: Outbound TSO enabled\n" */
|
||
|
+/*? Text: "%s: Broadcast not supported on %s\n" */
|
||
|
+/*? Text: "%s: Outbound TSO not supported on %s\n" */
|
||
|
+/*? Text: "%s: Inbound HW Checksumming not supported on %s,\ncontinuing using Inbound SW Checksumming\n" */
|
||
|
+/*? Text: "%s: Using no checksumming on %s.\n" */
|
||
|
+/*? Text: "%s: Broadcast enabled\n" */
|
||
|
+/*? Text: "%s: Multicast not supported on %s\n" */
|
||
|
+/*? Text: "%s: Using SW checksumming on %s.\n" */
|
||
|
+/*? Text: "%s: HW Checksumming (inbound) enabled\n" */
|
||
|
+/*? Text: "unregister layer 3 discipline\n" */
|
||
|
+/*? Text: "%s: Multicast enabled\n" */
|
||
|
+/*? Text: "%s: QDIO data connection isolation is deactivated\n" */
|
||
|
+/*? Text: "%s: QDIO data connection isolation is activated\n" */
|
||
|
+/*? Text: "%s: Adapter does not support QDIO data connection isolation\n" */
|
||
|
+/*? Text: "%s: Adapter is dedicated. QDIO data connection isolation not supported\n" */
|
||
|
+/*? Text: "%s: TSO does not permit QDIO data connection isolation\n" */
|
||
|
+
|
||
|
--- /dev/null
|
||
|
+++ b/Documentation/kmsg/s390/s390dbf
|
||
|
@@ -0,0 +1,83 @@
|
||
|
+/*?
|
||
|
+ * Text: "Root becomes the owner of all s390dbf files in sysfs\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Description:
|
||
|
+ * The S/390 debug feature you are using only supports uid/gid = 0.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Registering debug feature %s failed\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: feature name
|
||
|
+ * Description:
|
||
|
+ * The initialization of an S/390 debug feature failed. A likely cause of this
|
||
|
+ * problem is memory constraints. The system keeps running, but the debug
|
||
|
+ * data for this feature will not be available in sysfs.
|
||
|
+ * User action:
|
||
|
+ * Consider assigning more memory to your LPAR or z/VM guest virtual machine.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Registering view %s/%s would exceed the maximum number of views %i\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: feature name
|
||
|
+ * @2: view name
|
||
|
+ * @3: maximum
|
||
|
+ * Description:
|
||
|
+ * The maximum number of allowed debug feature views has been reached. The
|
||
|
+ * view has not been registered. The system keeps running but the new view
|
||
|
+ * will not be available in sysfs. This is a program error.
|
||
|
+ * User action:
|
||
|
+ * Report this problem to your support partner.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s is not a valid level for a debug feature\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: level
|
||
|
+ * Description:
|
||
|
+ * Setting a new level for a debug feature by using the 'level' sysfs attribute
|
||
|
+ * failed. Valid levels are the minus sign (-) and the integers in the
|
||
|
+ * range 0 to 6. The minus sign switches off the feature. The numbers switch
|
||
|
+ * the feature on, where higher numbers produce more debug output.
|
||
|
+ * User action:
|
||
|
+ * Write a valid value to the 'level' sysfs attribute.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Flushing debug data failed because %c is not a valid area\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: debug area number
|
||
|
+ * Description:
|
||
|
+ * Flushing a debug area by using the 'flush' sysfs attribute failed. Valid
|
||
|
+ * values are the minus sign (-) for flushing all areas, or the number of the
|
||
|
+ * respective area for flushing a single area.
|
||
|
+ * User action:
|
||
|
+ * Write a valid area number or the minus sign (-) to the 'flush' sysfs
|
||
|
+ * attribute.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Allocating memory for %i pages failed\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: number of pages
|
||
|
+ * Description:
|
||
|
+ * Setting the debug feature size by using the 'page' sysfs attribute failed.
|
||
|
+ * Linux did not have enough memory for expanding the debug feature to the
|
||
|
+ * requested size.
|
||
|
+ * User action:
|
||
|
+ * Use a smaller number of pages for the debug feature or allocate more
|
||
|
+ * memory to your LPAR or z/VM guest virtual machine.
|
||
|
+ */
|
||
|
+
|
||
|
+/*? Text: "%s: set new size (%i pages)\n" */
|
||
|
+/*? Text: "%s: switched off\n" */
|
||
|
+/*? Text: "%s: level %i is out of range (%i - %i)\n" */
|
||
|
+/*? Text: "Registering view %s/%s failed due to out of memory\n" */
|
||
|
--- /dev/null
|
||
|
+++ b/Documentation/kmsg/s390/sclp_cmd
|
||
|
@@ -0,0 +1,16 @@
|
||
|
+/*? Text: "sync request failed (cmd=0x%08x, status=0x%02x)\n" */
|
||
|
+/*? Text: "readcpuinfo failed (response=0x%04x)\n" */
|
||
|
+/*? Text: "configure cpu failed (cmd=0x%08x, response=0x%04x)\n" */
|
||
|
+/*? Text: "configure channel-path failed (cmd=0x%08x, response=0x%04x)\n" */
|
||
|
+/*? Text: "read channel-path info failed (response=0x%04x)\n" */
|
||
|
+/*? Text: "assign storage failed (cmd=0x%08x, response=0x%04x, rn=0x%04x)\n" */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Memory hotplug state changed, suspend refused.\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Description:
|
||
|
+ * Suspend is refused after a memory hotplug operation was performed.
|
||
|
+ * User action:
|
||
|
+ * The system needs to be restarted and no memory hotplug operation must be
|
||
|
+ * performed in order to allow suspend.
|
||
|
+ */
|
||
|
--- /dev/null
|
||
|
+++ b/Documentation/kmsg/s390/sclp_config
|
||
|
@@ -0,0 +1,3 @@
|
||
|
+/*? Text: "cpu capability changed.\n" */
|
||
|
+/*? Text: "no configuration management.\n" */
|
||
|
+
|
||
|
--- /dev/null
|
||
|
+++ b/Documentation/kmsg/s390/sclp_cpi
|
||
|
@@ -0,0 +1,2 @@
|
||
|
+/*? Text: "request failed (status=0x%02x)\n" */
|
||
|
+/*? Text: "request failed with response code 0x%x\n" */
|
||
|
--- /dev/null
|
||
|
+++ b/Documentation/kmsg/s390/sclp_sdias
|
||
|
@@ -0,0 +1,4 @@
|
||
|
+/*? Text: "sclp_send failed for get_nr_blocks\n" */
|
||
|
+/*? Text: "SCLP error: %x\n" */
|
||
|
+/*? Text: "sclp_send failed: %x\n" */
|
||
|
+/*? Text: "Error from SCLP while copying hsa. Event status = %x\n" */
|
||
|
--- /dev/null
|
||
|
+++ b/Documentation/kmsg/s390/setup
|
||
|
@@ -0,0 +1,181 @@
|
||
|
+/*?
|
||
|
+ * Text: "Execute protection active, mvcos available\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Description:
|
||
|
+ * The kernel parameter 'noexec' has been specified. The kernel will
|
||
|
+ * honor the execute bit of mappings and will use the mvcos instruction
|
||
|
+ * to copy between the user and kernel address space.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Execute protection active, mvcos not available\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Description:
|
||
|
+ * The kernel parameter 'noexec' has been specified. The kernel will
|
||
|
+ * honor the execute bit of mappings. The mvcos instruction is not
|
||
|
+ * available and the kernel will use the slower page table walk method
|
||
|
+ * to copy between the user and kernel address space.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Address spaces switched, mvcos available\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Description:
|
||
|
+ * The kernel parameter 'switch_amode' has been specified. The kernel
|
||
|
+ * will use the primary address space for user space processes and the
|
||
|
+ * home address space for the kernel. The mvcos instruction is used to
|
||
|
+ * copy between the user and kernel address space.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Address spaces switched, mvcos not available\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Description:
|
||
|
+ * The kernel parameter 'switch_amode' has been specified. The kernel
|
||
|
+ * will use the primary address space for user space processes and the
|
||
|
+ * home address space for the kernel. The mvcos instruction is not
|
||
|
+ * available and the kernel will use the slower page table walk method
|
||
|
+ * to copy between the user and kernel address space.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "initrd extends beyond end of memory (0x%08lx > 0x%08lx) disabling initrd\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: start address of the initial RAM disk
|
||
|
+ * @2: memory end address
|
||
|
+ * Description:
|
||
|
+ * The load address and the size of the initial RAM disk result in an end
|
||
|
+ * address of the initial RAM disk that is beyond the end of the system
|
||
|
+ * memory.
|
||
|
+ * User action:
|
||
|
+ * Lower the load address of the initial RAM disk, reduce the size of the
|
||
|
+ * initial RAM disk, or increase the size if the system memory to make the
|
||
|
+ * initial RAM disk fit into the memory.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Moving initrd (0x%08lx -> 0x%08lx, size: %ld)\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: old start address of the initial RAM disk
|
||
|
+ * @2: new start address of the initial RAM disk
|
||
|
+ * @3: size of the initial RAM disk
|
||
|
+ * Description:
|
||
|
+ * The location of the initial RAM disk conflicted with the boot memory bitmap.
|
||
|
+ * To resolve the conflict the initial RAM disk has been moved to a new
|
||
|
+ * location.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Linux is running as a z/VM guest operating system in 31-bit mode\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Description:
|
||
|
+ * The 31-bit Linux kernel detected that it is running as a guest operating
|
||
|
+ * system of the z/VM hypervisor.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Linux is running natively in 31-bit mode\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Description:
|
||
|
+ * The 31-bit Linux kernel detected that it is running on an IBM mainframe,
|
||
|
+ * either as the sole operating system in an LPAR or as the sole operating
|
||
|
+ * system on the entire mainframe. The Linux kernel is not running as a
|
||
|
+ * guest operating system of the z/VM hypervisor.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "The hardware system has IEEE compatible floating point units\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Description:
|
||
|
+ * The Linux kernel detected that it is running on a hardware system with
|
||
|
+ * CPUs that have IEEE compatible floating point units.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "The hardware system has no IEEE compatible floating point units\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Description:
|
||
|
+ * The Linux kernel detected that it is running on a hardware system with
|
||
|
+ * CPUs that do not have IEEE compatible floating point units.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Linux is running as a z/VM guest operating system in 64-bit mode\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Description:
|
||
|
+ * The 64-bit Linux kernel detected that it is running as a guest operating
|
||
|
+ * system of the z/VM hypervisor.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Linux is running natively in 64-bit mode\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Description:
|
||
|
+ * The 64-bit Linux kernel detected that it is running on an IBM mainframe,
|
||
|
+ * either as the sole operating system in an LPAR or as the sole operating
|
||
|
+ * system on the entire mainframe. The Linux kernel is not running as a
|
||
|
+ * guest operating system of the z/VM hypervisor.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Defining the Linux kernel NSS failed with rc=%d\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: return code
|
||
|
+ * Description:
|
||
|
+ * The Linux kernel could not define the named saved system (NSS) with
|
||
|
+ * the z/VM CP DEFSYS command. The return code represents the numeric
|
||
|
+ * portion of the CP DEFSYS error message.
|
||
|
+ * User action:
|
||
|
+ * For return code 1, the z/VM guest virtual machine is not authorized
|
||
|
+ * to define named saved systems.
|
||
|
+ * Ensure that the z/VM guest virtual machine is authorized to issue
|
||
|
+ * the CP DEFSYS command (typically privilege class E).
|
||
|
+ * For other return codes, see the help and message documentation for
|
||
|
+ * the CP DEFSYS command.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Saving the Linux kernel NSS failed with rc=%d\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: return code
|
||
|
+ * Description:
|
||
|
+ * The Linux kernel could not save the named saved system (NSS) with
|
||
|
+ * the z/VM CP SAVESYS command. The return code represents the numeric
|
||
|
+ * portion of the CP SAVESYS error message.
|
||
|
+ * User action:
|
||
|
+ * For return code 1, the z/VM guest virtual machine is not authorized
|
||
|
+ * to save named saved systems.
|
||
|
+ * Ensure that the z/VM guest virtual machine is authorized to issue
|
||
|
+ * the CP SAVESYS command (typically privilege class E).
|
||
|
+ * For other return codes, see the help and message documentation for
|
||
|
+ * the CP SAVESYS command.
|
||
|
+ */
|
||
|
+
|
||
|
+/*? Text: "Linux is running under KVM in 64-bit mode\n" */
|
||
|
+
|
||
|
--- /dev/null
|
||
|
+++ b/Documentation/kmsg/s390/tape
|
||
|
@@ -0,0 +1,104 @@
|
||
|
+/*?
|
||
|
+ * Text: "%s: A tape unit was detached while in use\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * A tape unit has been detached from the I/O configuration while a tape
|
||
|
+ * was being accessed. This typically results in I/O error messages and
|
||
|
+ * potentially in damaged data on the tape.
|
||
|
+ * User action:
|
||
|
+ * Check the output of the application that accesses the tape device.
|
||
|
+ * If this problem occurred during a write-type operation, consider repeating
|
||
|
+ * the operation after bringing the tape device back online.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: A tape cartridge has been mounted\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * A tape cartridge has been inserted into the tape unit. The tape in the
|
||
|
+ * tape unit is ready to be accessed.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The tape cartridge has been successfully unloaded\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * The tape cartridge has been unloaded from the tape unit. Insert a tape
|
||
|
+ * cartridge before accessing the tape device.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Determining the size of the recorded area...\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * The tape block device driver is currently determining the size of the
|
||
|
+ * recorded area on the tape medium. This operation typically takes a
|
||
|
+ * few minutes.
|
||
|
+ * User action:
|
||
|
+ * Wait until the size is shown in a completion message.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Opening the tape failed because of missing end-of-file marks\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * The tape block device driver requires end-of-file marks at the end of
|
||
|
+ * the recorded area on a tape. If the tape device was to be opened in
|
||
|
+ * response to a mount command, the mount command will fail.
|
||
|
+ * User action:
|
||
|
+ * Insert a tape cartridge that has been prepared for use with the tape
|
||
|
+ * block device driver and try the operation again.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The size of the recorded area is %i blocks\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * @2: number of blocks
|
||
|
+ * Description:
|
||
|
+ * The tape block device driver has successfully determined the size of the
|
||
|
+ * recorded area on the tape medium. The tape device can now be used as
|
||
|
+ * a block device. See the mount(8) man page for details on how to access
|
||
|
+ * block devices.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "A cartridge is loaded in tape device %s, refusing to suspend\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * A request to suspend a tape device currently loaded with a cartridge is
|
||
|
+ * rejected.
|
||
|
+ * User action:
|
||
|
+ * Unload the tape device. Then try to suspend the system again.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Tape device %s is busy, refusing to suspend\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * A request to suspend a tape device being currently in use is rejected.
|
||
|
+ * User action:
|
||
|
+ * Terminate applications performing tape operations
|
||
|
+ * and then try to suspend the system again.
|
||
|
+ */
|
||
|
--- /dev/null
|
||
|
+++ b/Documentation/kmsg/s390/tape_34xx
|
||
|
@@ -0,0 +1,418 @@
|
||
|
+/*?
|
||
|
+ * Text: "%s: An unexpected condition %d occurred in tape error recovery\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * @2: number
|
||
|
+ * Description:
|
||
|
+ * The control unit has reported an error condition that is not recognized by
|
||
|
+ * the error recovery process of the tape device driver.
|
||
|
+ * User action:
|
||
|
+ * Report this problem and the condition number from the message to your
|
||
|
+ * support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: A data overrun occurred between the control unit and tape unit\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * A data overrun error has occurred on the connection between the control
|
||
|
+ * unit and the tape unit. If this problem occurred during a write-type
|
||
|
+ * operation, the integrity of the data on the tape might be compromised.
|
||
|
+ * User action:
|
||
|
+ * Use a faster connection. If this problem occurred during a write-type
|
||
|
+ * operation, consider repositioning the tape and repeating the operation.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The block ID sequence on the tape is incorrect\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * The control unit has detected an incorrect block ID sequence on the tape.
|
||
|
+ * This problem typically indicates that the data on the tape is damaged.
|
||
|
+ * User action:
|
||
|
+ * If this problem occurred during a write-type operation reposition the tape
|
||
|
+ * and repeat the operation.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: A read error occurred that cannot be recovered\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * A read error has occurred that cannot be recovered. The current tape might
|
||
|
+ * be damaged.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: A write error on the tape cannot be recovered\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * A write error has occurred that could not be recovered by the automatic
|
||
|
+ * error recovery process.
|
||
|
+ * User action:
|
||
|
+ * Use a different tape cartridge.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Writing the ID-mark failed\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * The ID-mark at the beginning of tape could not be written. The tape medium
|
||
|
+ * might be write-protected.
|
||
|
+ * User action:
|
||
|
+ * Try a different tape cartridge. Ensure that the write-protection on the
|
||
|
+ * cartridge is switched off.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Reading the tape beyond the end of the recorded area failed\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * A read-type operation failed because it extended beyond the end of the
|
||
|
+ * recorded area on the tape medium.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The tape contains an incorrect block ID sequence\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * The control unit has detected an incorrect block ID sequence on the tape.
|
||
|
+ * This problem typically indicates that the data on the tape is damaged.
|
||
|
+ * User action:
|
||
|
+ * If this problem occurred during a write-type operation reposition the tape
|
||
|
+ * and repeat the operation.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: A path equipment check occurred for the tape device\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * A path equipment check has occurred. This check indicates problems with the
|
||
|
+ * connection between the mainframe system and the tape control unit.
|
||
|
+ * User action:
|
||
|
+ * Ensure that the cable connections between the mainframe system and the
|
||
|
+ * control unit are securely in place and not damaged.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The tape unit cannot process the tape format\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * Either the tape unit is not able to read the format ID mark, or the
|
||
|
+ * specified format is not supported by the tape unit.
|
||
|
+ * User action:
|
||
|
+ * If you do not need the data recorded on the current tape, use a different
|
||
|
+ * tape or write a new format ID mark at the beginning of the tape. Be aware
|
||
|
+ * that writing a new ID mark leads to a loss of all data that has been
|
||
|
+ * recorded on the tape. If you need the data on the current tape, use a tape
|
||
|
+ * unit that supports the tape format.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The tape medium is write-protected\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * A write-type operation failed because the tape medium is write-protected.
|
||
|
+ * User action:
|
||
|
+ * Eject the tape cartridge, switch off the write protection on the cartridge,
|
||
|
+ * insert the cartridge, and try the operation again.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The tape does not have the required tape tension\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * The tape does not have the required tape tension.
|
||
|
+ * User action:
|
||
|
+ * Rewind and reposition the tape, then repeat the operation.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The tape unit failed to load the cartridge\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * An error has occurred while loading the tape cartridge.
|
||
|
+ * User action:
|
||
|
+ * Unload the cartridge and load it again.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Automatic unloading of the tape cartridge failed\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * The tape unit failed to unload the cartridge.
|
||
|
+ * User action:
|
||
|
+ * Unload the cartridge manually by using the eject button on the tape unit.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: An equipment check has occurred on the tape unit\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * Possible reasons for the check condition are a unit adapter error, a buffer
|
||
|
+ * error on the lower interface, an unusable internal path, or an error that
|
||
|
+ * has occurred while loading the cartridge.
|
||
|
+ * User action:
|
||
|
+ * Examine the tape unit and the cartridge loader. Consult the tape unit
|
||
|
+ * documentation for details.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The tape information states an incorrect length\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * The tape is shorter than stated at the beginning of the tape data. A
|
||
|
+ * possible reason for this problem is that the tape might have been physically
|
||
|
+ * truncated. Data written to the tape might be incomplete or damaged.
|
||
|
+ * User action:
|
||
|
+ * If this problem occurred during a write-type operation, consider repeating
|
||
|
+ * the operation with a different tape cartridge.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The tape unit is not ready\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * The tape unit is online but not ready.
|
||
|
+ * User action:
|
||
|
+ * Turn the ready switch on the tape unit to the ready position and try the
|
||
|
+ * operation again.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The tape medium has been rewound or unloaded manually\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * The tape unit rewind button, unload button, or both have been used to
|
||
|
+ * rewind or unload the tape cartridge. A tape cartridge other than the
|
||
|
+ * intended cartridge might have been inserted or the tape medium might not
|
||
|
+ * be at the expected position.
|
||
|
+ * User action:
|
||
|
+ * Verify that the correct tape cartridge has been inserted and that the tape
|
||
|
+ * medium is at the required position before continuing to work with the tape.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The tape subsystem is running in degraded mode\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * The tape subsystem is not operating at its maximum performance.
|
||
|
+ * User action:
|
||
|
+ * Contact your service representative for the tape unit and report this
|
||
|
+ * problem.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The tape unit is already assigned\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * The tape unit is already assigned to another channel path.
|
||
|
+ * User action:
|
||
|
+ * Free the tape unit from the operating system instance to which it is
|
||
|
+ * currently assigned then try again.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The tape unit is not online\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * The tape unit is not online to the tape device driver.
|
||
|
+ * User action:
|
||
|
+ * Ensure that the tape unit is operational and that the cable connections
|
||
|
+ * between the control unit and the tape unit are securely in place and not
|
||
|
+ * damaged.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The control unit has fenced access to the tape volume\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * The control unit fences further access to the current tape volume. The data
|
||
|
+ * integrity on the tape volume might have been compromised.
|
||
|
+ * User action:
|
||
|
+ * Rewind and unload the tape cartridge.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: A parity error occurred on the tape bus\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * A data parity check error occurred on the bus. Data that was read or written
|
||
|
+ * while the error occurred is not valid.
|
||
|
+ * User action:
|
||
|
+ * Reposition the tape and repeat the read-type or write-type operation.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: I/O error recovery failed on the tape control unit\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * An I/O error occurred that cannot be recovered by the automatic error
|
||
|
+ * recovery process of the tape control unit. The application that operates
|
||
|
+ * the tape unit will receive a return value of -EIO which indicates an
|
||
|
+ * I/O error. The data on the tape might be damaged.
|
||
|
+ * User action:
|
||
|
+ * If this problem occurred during a write-type operation, consider
|
||
|
+ * repositioning the tape and repeating the operation.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The tape unit requires a firmware update\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * The tape unit requires firmware patches from the tape control unit but the
|
||
|
+ * required patches are not available on the control unit.
|
||
|
+ * User action:
|
||
|
+ * Make the require patches available on the control unit then reposition the
|
||
|
+ * tape and retry the operation. For details about obtaining and installing
|
||
|
+ * firmware updates see the control unit documentation.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The maximum block size for buffered mode is exceeded\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * The block to be written is larger than allowed for the buffered mode.
|
||
|
+ * User action:
|
||
|
+ * Use a smaller block size.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: A channel interface error cannot be recovered\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * An error has occurred on the channel interface. This error cannot
|
||
|
+ * be recovered by the control unit error recovery process.
|
||
|
+ * User action:
|
||
|
+ * See the documentation of the control unit.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: A channel protocol error occurred\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * An error was detected in the channel protocol.
|
||
|
+ * User action:
|
||
|
+ * Reposition the tape and try the operation again.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The tape unit does not support the compaction algorithm\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * The tape unit cannot read the current tape. The data on the tape has been
|
||
|
+ * compressed with an algorithm that is not supported by the tape unit.
|
||
|
+ * User action:
|
||
|
+ * Use a tape unit that supports the compaction algorithm used for the
|
||
|
+ * current tape.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The tape unit does not support tape format 3480-2 XF\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * The tape unit does not support tapes recorded in the 3480-2 XF format.
|
||
|
+ * User action:
|
||
|
+ * If you do not need the data recorded on the current tape, rewind the tape
|
||
|
+ * and overwrite it with a supported format. If you need the data on the
|
||
|
+ * current tape, use a tape unit that supports the tape format.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The tape unit does not support format 3480 XF\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * The tape unit does not support tapes recorded in the 3480 XF format.
|
||
|
+ * User action:
|
||
|
+ * If you do not need the data recorded on the current tape, rewind the tape
|
||
|
+ * and overwrite it with a supported format. If you need the data on the
|
||
|
+ * current tape, use a tape unit that supports the tape format.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The tape unit does not support the current tape length\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * The length of the tape in the cartridge is incompatible with the tape unit.
|
||
|
+ * User action:
|
||
|
+ * Either use a different tape unit or use a tape with a supported length.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The tape unit does not support the tape length\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * The length of the tape in the cartridge is incompatible with the tape
|
||
|
+ * unit.
|
||
|
+ * User action:
|
||
|
+ * Either use a different tape unit or use a tape with a supported length.
|
||
|
+ */
|
||
|
+
|
||
|
--- /dev/null
|
||
|
+++ b/Documentation/kmsg/s390/tape_3590
|
||
|
@@ -0,0 +1,184 @@
|
||
|
+/*?
|
||
|
+ * Text: "%s: The tape medium must be loaded into a different tape unit\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * The tape device has indicated an error condition that requires loading
|
||
|
+ * the tape cartridge into a different tape unit to recover.
|
||
|
+ * User action:
|
||
|
+ * Unload the cartridge and use a different tape unit to retry the operation.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Tape media information: exception %s, service %s\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * @2: exception
|
||
|
+ * @3: service
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent tape medium information message
|
||
|
+ * that was issued by the tape unit. The information in the message is
|
||
|
+ * intended for the IBM customer engineer.
|
||
|
+ * User action:
|
||
|
+ * See the documentation for the tape unit for further information.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Device subsystem information: exception %s, service %s\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * @2: exception
|
||
|
+ * @3: required service action
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent device subsystem information message
|
||
|
+ * that was issued by the tape unit. The information in the message is
|
||
|
+ * intended for the IBM customer engineer.
|
||
|
+ * User action:
|
||
|
+ * See the documentation for the tape unit for further information.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: I/O subsystem information: exception %s, service %s\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * @2: exception
|
||
|
+ * @3: required service action
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent I/O subsystem information message
|
||
|
+ * that was issued by the tape unit. The information in the message is
|
||
|
+ * intended for the IBM customer engineer.
|
||
|
+ * User action:
|
||
|
+ * See the documentation for the tape unit for further information.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The tape unit has issued sense message %s\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * @2: sense message code
|
||
|
+ * Description:
|
||
|
+ * The tape unit has issued an operating system independent sense message.
|
||
|
+ * User action:
|
||
|
+ * See the documentation for the tape unit for further information.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The tape unit has issued an unknown sense message code 0x%x\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * @2: code
|
||
|
+ * Description:
|
||
|
+ * The tape device driver has received an unknown sense message from the
|
||
|
+ * tape unit.
|
||
|
+ * driver.
|
||
|
+ * User action:
|
||
|
+ * See the documentation for the tape unit for further information.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: MIM SEV=%i, MC=%02x, ES=%x/%x, RC=%02x-%04x-%02x\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * @2: SEV
|
||
|
+ * @3: message code
|
||
|
+ * @4: exception
|
||
|
+ * @5: required service action
|
||
|
+ * @6: refcode
|
||
|
+ * @7: mid
|
||
|
+ * @8: fid
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent information message that was
|
||
|
+ * issued by the tape unit. The information in the message is intended for
|
||
|
+ * the IBM customer engineer.
|
||
|
+ * User action:
|
||
|
+ * See to the documentation for the tape unit for further information.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: IOSIM SEV=%i, DEVTYPE=3590/%02x, MC=%02x, ES=%x/%x, REF=0x%04x-0x%04x-0x%04x\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * @2: SEV
|
||
|
+ * @3: model
|
||
|
+ * @4: message code
|
||
|
+ * @5: exception
|
||
|
+ * @6: required service action
|
||
|
+ * @7: refcode1
|
||
|
+ * @8: refcode2
|
||
|
+ * @9: refcode3
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent I/O subsystem information message
|
||
|
+ * that was issued by the tape unit. The information in the message is
|
||
|
+ * intended for the IBM customer engineer.
|
||
|
+ * User action:
|
||
|
+ * See the documentation for the tape unit for further information.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: DEVSIM SEV=%i, DEVTYPE=3590/%02x, MC=%02x, ES=%x/%x, REF=0x%04x-0x%04x-0x%04x\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * @2: SEV
|
||
|
+ * @3: model
|
||
|
+ * @4: message code
|
||
|
+ * @5: exception
|
||
|
+ * @6: required service action
|
||
|
+ * @7: refcode1
|
||
|
+ * @8: refcode2
|
||
|
+ * @9: refcode3
|
||
|
+ * Description:
|
||
|
+ * This is an operating system independent device subsystem information message
|
||
|
+ * issued by the tape unit. The information in the message is intended for
|
||
|
+ * the IBM customer engineer.
|
||
|
+ * User action:
|
||
|
+ * See the documentation for the tape unit for further information.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The tape unit has issued an unknown sense message code %x\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * @2: code
|
||
|
+ * Description:
|
||
|
+ * The tape device has issued a sense message, that is unknown to the device
|
||
|
+ * driver.
|
||
|
+ * User action:
|
||
|
+ * Use the message code printed as hexadecimal value and see the documentation
|
||
|
+ * for the tape unit for further information.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The tape unit failed to obtain the encryption key from EKM\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * The tape unit was unable to retrieve the encryption key required to decode
|
||
|
+ * the data on the tape from the enterprise key manager (EKM).
|
||
|
+ * User action:
|
||
|
+ * See the EKM and tape unit documentation for information about how to enable
|
||
|
+ * the tape unit to retrieve the encryption key.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: A different host has privileged access to the tape unit\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the tape device
|
||
|
+ * Description:
|
||
|
+ * You cannot access the tape unit because a different operating system
|
||
|
+ * instance has privileged access to the unit.
|
||
|
+ * User action:
|
||
|
+ * Unload the current cartridge to solve this problem.
|
||
|
+ */
|
||
|
+
|
||
|
--- /dev/null
|
||
|
+++ b/Documentation/kmsg/s390/time
|
||
|
@@ -0,0 +1,36 @@
|
||
|
+/*?
|
||
|
+ * Text: "The ETR interface has adjusted the clock by %li microseconds\n"
|
||
|
+ * Severity: Notice
|
||
|
+ * Parameter:
|
||
|
+ * @1: number of microseconds
|
||
|
+ * Description:
|
||
|
+ * The external time reference (ETR) interface has synchronized the system
|
||
|
+ * clock with the external reference and set it to a new value. The time
|
||
|
+ * difference between the old and new clock value has been passed to the
|
||
|
+ * network time protocol (NTP) as a single shot adjustment.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "The real or virtual hardware system does not provide an ETR interface\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Description:
|
||
|
+ * The 'etr=' parameter has been passed on the kernel parameter line for
|
||
|
+ * a Linux instance that does not have access to the external time reference
|
||
|
+ * (ETR) facility.
|
||
|
+ * User action:
|
||
|
+ * To avoid this warning remove the 'etr=' kernel parameter.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "The real or virtual hardware system does not provide an STP interface\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Description:
|
||
|
+ * The 'stp=' parameter has been passed on the kernel parameter line for
|
||
|
+ * a Linux instance that does not have access to the server time protocol
|
||
|
+ * (STP) facility.
|
||
|
+ * User action:
|
||
|
+ * To avoid this warning remove the 'stp=' kernel parameter.
|
||
|
+ */
|
||
|
+
|
||
|
--- /dev/null
|
||
|
+++ b/Documentation/kmsg/s390/vmcp
|
||
|
@@ -0,0 +1,13 @@
|
||
|
+/*?
|
||
|
+ * Text: "The z/VM CP interface device driver cannot be loaded without z/VM\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Description:
|
||
|
+ * With the z/VM CP interface you can issue z/VM CP commands from a Linux
|
||
|
+ * terminal session. On Linux instances that run in environments other than
|
||
|
+ * the z/VM hypervisor, the z/VM CP interface does not provide any useful
|
||
|
+ * function and the corresponding vmcp device driver cannot be loaded.
|
||
|
+ * User action:
|
||
|
+ * Load the vmcp device driver only on Linux instances that run as guest
|
||
|
+ * operating systems of the z/VM hypervisor. If the device driver has been
|
||
|
+ * compiled into the kernel, ignore this message.
|
||
|
+ */
|
||
|
--- /dev/null
|
||
|
+++ b/Documentation/kmsg/s390/vmlogrdr
|
||
|
@@ -0,0 +1,18 @@
|
||
|
+/*? Text: "vmlogrdr: failed to start recording automatically\n" */
|
||
|
+/*? Text: "vmlogrdr: connection severed with reason %i\n" */
|
||
|
+/*? Text: "vmlogrdr: iucv connection to %s failed with rc %i \n" */
|
||
|
+/*? Text: "vmlogrdr: failed to stop recording automatically\n" */
|
||
|
+/*? Text: "not running under VM, driver not loaded.\n" */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "vmlogrdr: device %s is busy. Refuse to suspend.\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: device name
|
||
|
+ * Description:
|
||
|
+ * Suspending vmlogrdr devices that are in uses is not supported.
|
||
|
+ * A request to suspend such a device is refused.
|
||
|
+ * User action:
|
||
|
+ * Close all applications that use any of the vmlogrdr devices
|
||
|
+ * and then try to suspend the system again.
|
||
|
+ */
|
||
|
--- /dev/null
|
||
|
+++ b/Documentation/kmsg/s390/vmur
|
||
|
@@ -0,0 +1,47 @@
|
||
|
+/*?
|
||
|
+ * Text: "The %s cannot be loaded without z/VM\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: z/VM virtual unit record device driver
|
||
|
+ * Description:
|
||
|
+ * The z/VM virtual unit record device driver provides Linux with access to
|
||
|
+ * z/VM virtual unit record devices like punch card readers, card punches, and
|
||
|
+ * line printers. On Linux instances that run in environments other than the
|
||
|
+ * z/VM hypervisor, the device driver does not provide any useful function and
|
||
|
+ * the corresponding vmur module cannot be loaded.
|
||
|
+ * User action:
|
||
|
+ * Load the vmur module only on Linux instances that run as guest operating
|
||
|
+ * systems of the z/VM hypervisor. If the z/VM virtual unit record device
|
||
|
+ * has been compiled into the kernel, ignore this message.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Kernel function alloc_chrdev_region failed with error code %d\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: error code according to errno definitions
|
||
|
+ * Description:
|
||
|
+ * The z/VM virtual unit record device driver (vmur) needs to register a range
|
||
|
+ * of character device minor numbers from 0x0000 to 0xffff.
|
||
|
+ * This registration failed, probably because of memory constraints.
|
||
|
+ * User action:
|
||
|
+ * Free some memory and reload the vmur module. If the z/VM virtual unit
|
||
|
+ * record device driver has been compiled into the kernel reboot Linux.
|
||
|
+ * Consider assigning more memory to your LPAR or z/VM guest virtual machine.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Unit record device %s is busy, %s refusing to suspend.\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the unit record device
|
||
|
+ * @1: z/VM virtual unit record device driver
|
||
|
+ * Description:
|
||
|
+ * Linux cannot be suspended while a unit record device is in use.
|
||
|
+ * User action:
|
||
|
+ * Stop all applications that work on z/VM spool file queues, for example, the
|
||
|
+ * vmur tool. Then try again to suspend Linux.
|
||
|
+ */
|
||
|
+
|
||
|
+/*? Text: "%s loaded.\n" */
|
||
|
+/*? Text: "%s unloaded.\n" */
|
||
|
--- /dev/null
|
||
|
+++ b/Documentation/kmsg/s390/vmwatchdog
|
||
|
@@ -0,0 +1,26 @@
|
||
|
+/*?
|
||
|
+ * Text: "The system cannot be suspended while the watchdog is in use\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Description:
|
||
|
+ * A program is currently using the vmwatchdog device node. The watchdog
|
||
|
+ * device driver prevents the system from being suspended while the watchdog
|
||
|
+ * device is in use.
|
||
|
+ * User action:
|
||
|
+ * If you want to suspend the system, find out which program uses the watchdog
|
||
|
+ * device. Stop the program or reconfigure it to not use the watchdog.
|
||
|
+ */
|
||
|
+
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "The system cannot be suspended while the watchdog is running\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Description:
|
||
|
+ * The watchdog must not time out during hibernation. The watchdog
|
||
|
+ * device driver prevents the system from being suspended while the watchdog
|
||
|
+ * timer is running.
|
||
|
+ * User action:
|
||
|
+ * If you want to suspend the system, stop the watchdog, for example, by entering
|
||
|
+ * the command: 'echo V > /dev/vmwatchdog'. Alternatively, stop the program that
|
||
|
+ * uses the watchdog or reconfigure the program to not use the watchdog.
|
||
|
+ */
|
||
|
+
|
||
|
--- /dev/null
|
||
|
+++ b/Documentation/kmsg/s390/xpram
|
||
|
@@ -0,0 +1,73 @@
|
||
|
+/*?
|
||
|
+ * Text: "%d is not a valid number of XPRAM devices\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: number of partitions
|
||
|
+ * Description:
|
||
|
+ * The number of XPRAM partitions specified for the 'devs' module parameter
|
||
|
+ * or with the 'xpram.parts' kernel parameter must be an integer in the
|
||
|
+ * range 1 to 32. The XPRAM device driver created a maximum of 32 partitions
|
||
|
+ * that are probably not configured as intended.
|
||
|
+ * User action:
|
||
|
+ * If the XPRAM device driver has been compiled as a separate module,
|
||
|
+ * unload the module and load it again with a correct value for the 'devs'
|
||
|
+ * module parameter. If the XPRAM device driver has been compiled
|
||
|
+ * into the kernel, correct the 'xpram.parts' parameter in the kernel
|
||
|
+ * command line and restart Linux.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Not enough expanded memory available\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Description:
|
||
|
+ * The amount of expanded memory required to set up your XPRAM partitions
|
||
|
+ * depends on the 'sizes' parameter specified for the xpram module or on
|
||
|
+ * the specifications for the 'xpram.parts' parameter if the XPRAM device
|
||
|
+ * driver has been compiled into the kernel. Your
|
||
|
+ * current specification exceed the amount of available expanded memory.
|
||
|
+ * Your XPRAM partitions are probably not configured as intended.
|
||
|
+ * User action:
|
||
|
+ * If the XPRAM device driver has been compiled as a separate module,
|
||
|
+ * unload the xpram module and load it again with an appropriate value
|
||
|
+ * for the 'sizes' module parameter. If the XPRAM device driver has been
|
||
|
+ * compiled into the kernel, adjust the 'xpram.parts' parameter in the
|
||
|
+ * kernel command line and restart Linux. If you need more than the
|
||
|
+ * available expanded memory, increase the expanded memory allocation for
|
||
|
+ * your virtual hardware or LPAR.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "No expanded memory available\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Description:
|
||
|
+ * The XPRAM device driver has been loaded in a Linux instance that runs
|
||
|
+ * in an LPAR or virtual hardware without expanded memory.
|
||
|
+ * No XPRAM partitions are created.
|
||
|
+ * User action:
|
||
|
+ * Allocate expanded memory for your LPAR or virtual hardware or do not
|
||
|
+ * load the xpram module. You can ignore this message, if you do not want
|
||
|
+ * to create XPRAM partitions.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Resuming the system failed: %s\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: cause of the failure
|
||
|
+ * Description:
|
||
|
+ * A system cannot be resumed if the expanded memory setup changes
|
||
|
+ * after hibernation. Possible reasons for the failure are:
|
||
|
+ * - Expanded memory was removed after hibernation.
|
||
|
+ * - Size of the expanded memory changed after hibernation.
|
||
|
+ * The system is stopped with a kernel panic.
|
||
|
+ * User action:
|
||
|
+ * Reboot Linux.
|
||
|
+ */
|
||
|
+
|
||
|
+/*? Text: " number of devices (partitions): %d \n" */
|
||
|
+/*? Text: " size of partition %d: %u kB\n" */
|
||
|
+/*? Text: " size of partition %d to be set automatically\n" */
|
||
|
+/*? Text: " memory needed (for sized partitions): %lu kB\n" */
|
||
|
+/*? Text: " partitions to be sized automatically: %d\n" */
|
||
|
+/*? Text: " automatically determined partition size: %lu kB\n" */
|
||
|
+/*? Text: " %u pages expanded memory found (%lu KB).\n" */
|
||
|
--- /dev/null
|
||
|
+++ b/Documentation/kmsg/s390/zdump
|
||
|
@@ -0,0 +1,12 @@
|
||
|
+/*?
|
||
|
+ * Text: "The 32-bit dump tool cannot be used for a 64-bit system\n"
|
||
|
+ * Severity: Alert
|
||
|
+ * Description:
|
||
|
+ * The dump process ends without creating a system dump.
|
||
|
+ * User action:
|
||
|
+ * Use a 64-bit dump tool to obtain a system dump for 64-bit Linux instance.
|
||
|
+ */
|
||
|
+
|
||
|
+/*? Text: "DETECTED 'S390 (32 bit) OS'\n" */
|
||
|
+/*? Text: "0x%x is an unknown architecture.\n" */
|
||
|
+/*? Text: "DETECTED 'S390X (64 bit) OS'\n" */
|
||
|
--- /dev/null
|
||
|
+++ b/Documentation/kmsg/s390/zfcp
|
||
|
@@ -0,0 +1,865 @@
|
||
|
+/*?
|
||
|
+ * Text: "%s is not a valid SCSI device\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: device specification
|
||
|
+ * Description:
|
||
|
+ * The specification for an initial SCSI device provided with the 'zfcp.device'
|
||
|
+ * kernel parameter or with the 'device' module parameter is syntactically
|
||
|
+ * incorrect. The specified SCSI device could not be attached to the Linux
|
||
|
+ * system.
|
||
|
+ * User action:
|
||
|
+ * Correct the value for the 'zfcp.device' or 'device' parameter and reboot
|
||
|
+ * Linux. See "Device Drivers, Features, and Commands" for information about
|
||
|
+ * the syntax.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "Registering the misc device zfcp_cfdc failed\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Description:
|
||
|
+ * The zfcp device driver failed to register the device that provides access to
|
||
|
+ * the adapter access control file (ACL tables). The device driver
|
||
|
+ * initialization failed. A possible cause for this problem is memory
|
||
|
+ * constraints.
|
||
|
+ * User action:
|
||
|
+ * Free some memory and try again to load the zfcp device driver. If the zfcp
|
||
|
+ * device driver has been compiled into the kernel, reboot Linux. Consider
|
||
|
+ * assigning more memory to your LPAR or z/VM guest virtual machine. If the
|
||
|
+ * problem persists, contact your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "The zfcp device driver could not register with the common I/O layer\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Description:
|
||
|
+ * The device driver initialization failed. A possible cause of this problem is
|
||
|
+ * memory constraints.
|
||
|
+ * User action:
|
||
|
+ * Free some memory and try again to load the zfcp device driver. If the zfcp
|
||
|
+ * device driver has been compiled into the kernel, reboot Linux. Consider
|
||
|
+ * assigning more memory to your LPAR or z/VM guest virtual machine. If the
|
||
|
+ * problem persists, contact your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Setting up data structures for the FCP adapter failed\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * Description:
|
||
|
+ * The zfcp device driver could not allocate data structures for an FCP adapter.
|
||
|
+ * A possible reason for this problem is memory constraints.
|
||
|
+ * User action:
|
||
|
+ * Set the FCP adapter offline or detach it from the Linux system, free some
|
||
|
+ * memory and set the FCP adapter online again or attach it again. If this
|
||
|
+ * problem persists, gather Linux debug data, collect the FCP adapter
|
||
|
+ * hardware logs, and report the problem to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The FCP device is operational again\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * Description:
|
||
|
+ * An FCP device has been unavailable because it had been detached from the
|
||
|
+ * Linux system or because the corresponding CHPID was offline. The FCP device
|
||
|
+ * is now available again and the zfcp device driver resumes all operations to
|
||
|
+ * the FCP device.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The CHPID for the FCP device is offline\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * Description:
|
||
|
+ * The CHPID for an FCP device has been set offline, either logically in Linux
|
||
|
+ * or on the hardware.
|
||
|
+ * User action:
|
||
|
+ * Find out which CHPID corresponds to the FCP device, for example, with the
|
||
|
+ * lscss command. Check if the CHPID has been set logically offline in sysfs.
|
||
|
+ * Write 'on' to the CHPID's status attribute to set it online. If the CHPID is
|
||
|
+ * online in sysfs, find out if it has been varied offline through a hardware
|
||
|
+ * management interface, for example the service element (SE).
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The FCP device has been detached\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * Description:
|
||
|
+ * An FCP device is no longer available to Linux.
|
||
|
+ * User action:
|
||
|
+ * Ensure that the FCP adapter is operational and attached to the LPAR or z/VM
|
||
|
+ * virtual machine.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The FCP device did not respond within the specified time\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * Description:
|
||
|
+ * The common I/O layer waited for a response from the FCP adapter but
|
||
|
+ * no response was received within the specified time limit. This might
|
||
|
+ * indicate a hardware problem.
|
||
|
+ * User action:
|
||
|
+ * Consult your hardware administrator. If this problem persists,
|
||
|
+ * gather Linux debug data, collect the FCP adapter hardware logs, and
|
||
|
+ * report the problem to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Registering the FCP device with the SCSI stack failed\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * Description:
|
||
|
+ * The FCP adapter could not be registered with the Linux SCSI
|
||
|
+ * stack. A possible reason for this problem is memory constraints.
|
||
|
+ * User action:
|
||
|
+ * Set the FCP adapter offline or detach it from the Linux system, free some
|
||
|
+ * memory and set the FCP adapter online again or attach it again. If this
|
||
|
+ * problem persists, gather Linux debug data, collect the FCP adapter
|
||
|
+ * hardware logs, and report the problem to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: ERP cannot recover an error on the FCP device\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * Description:
|
||
|
+ * An error occurred on an FCP device. The error recovery procedure (ERP)
|
||
|
+ * could not resolve the error. The FCP device driver cannot use the FCP device.
|
||
|
+ * User action:
|
||
|
+ * Check for previous error messages for the same FCP device to find the
|
||
|
+ * cause of the problem.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Creating an ERP thread for the FCP device failed.\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * Description:
|
||
|
+ * The zfcp device driver could not set up error recovery procedure (ERP)
|
||
|
+ * processing for the FCP device. The FCP device is not available for use
|
||
|
+ * in Linux.
|
||
|
+ * User action:
|
||
|
+ * Free some memory and try again to load the zfcp device driver. If the zfcp
|
||
|
+ * device driver has been compiled into the kernel, reboot Linux. Consider
|
||
|
+ * assigning more memory to your LPAR or z/VM guest virtual machine. If the
|
||
|
+ * problem persists, contact your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: ERP failed for unit 0x%016Lx on port 0x%016Lx\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * @2: LUN
|
||
|
+ * @3: WWPN
|
||
|
+ * Description:
|
||
|
+ * An error occurred on the SCSI device at the specified LUN. The error recovery
|
||
|
+ * procedure (ERP) could not resolve the error. The SCSI device is not
|
||
|
+ * available.
|
||
|
+ * User action:
|
||
|
+ * Verify that the LUN is correct. Check the fibre channel fabric for errors
|
||
|
+ * related to the specified WWPN and LUN, the storage server, and Linux.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: ERP failed for remote port 0x%016Lx\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * @2: WWPN
|
||
|
+ * Description:
|
||
|
+ * An error occurred on a remote port. The error recovery procedure (ERP)
|
||
|
+ * could not resolve the error. The port is not available.
|
||
|
+ * User action:
|
||
|
+ * Verify that the WWPN is correct and check the fibre channel fabric for
|
||
|
+ * errors related to the WWPN.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Attaching the name server port to the FCP device failed\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * Description:
|
||
|
+ * The zfcp device driver could not attach the name server port of the fibre
|
||
|
+ * channel fabric to an FCP device. A possible cause of this problem is
|
||
|
+ * memory constraints.
|
||
|
+ * User action:
|
||
|
+ * Set the FCP device offline, free some memory, then set the FCP device online
|
||
|
+ * again. If this does not resolve the problem, reboot Linux and try again to
|
||
|
+ * set the FCP device online.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Registering unit 0x%016Lx on port 0x%016Lx failed\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * @2: LUN
|
||
|
+ * @3: WWPN
|
||
|
+ * Description:
|
||
|
+ * The Linux kernel could not allocate enough memory to register the SCSI
|
||
|
+ * device at the indicated LUN with the SCSI stack. The SCSI device is not
|
||
|
+ * available.
|
||
|
+ * User action:
|
||
|
+ * Free some memory then detach the LUN and attach it again.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Registering port 0x%016Lx failed\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * @2: WWPN
|
||
|
+ * Description:
|
||
|
+ * The Linux kernel could not allocate enough memory to register the
|
||
|
+ * remote port with the indicated WWPN with the SCSI stack. The remote
|
||
|
+ * port is not available.
|
||
|
+ * User action:
|
||
|
+ * Free some memory and trigger the rescan for ports.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: A QDIO problem occurred\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * Description:
|
||
|
+ * QDIO reported a problem to the zfcp device driver. The zfcp device driver
|
||
|
+ * tries to recover this problem.
|
||
|
+ * User action:
|
||
|
+ * Check for related error messages. If this problem occurs frequently, gather
|
||
|
+ * Linux debug data and contact your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: A QDIO protocol error occurred, operations continue\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * Description:
|
||
|
+ * The zfcp device driver detected a missing flag in a QDIO queue. The device
|
||
|
+ * driver tries to keep the FCP device operational.
|
||
|
+ * User action:
|
||
|
+ * Check for related error messages. If this problem occurs frequently, gather
|
||
|
+ * Linux debug data, collect the FCP adapter hardware logs, and report the
|
||
|
+ * problem to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Setting up the QDIO connection to the FCP adapter failed\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * Description:
|
||
|
+ * The zfcp device driver failed to establish a QDIO connection with the FCP
|
||
|
+ * adapter.
|
||
|
+ * User action:
|
||
|
+ * Set the FCP adapter offline or detach it from the Linux system, free some
|
||
|
+ * memory and set the FCP adapter online again or attach it again. If this
|
||
|
+ * problem persists, gather Linux debug data, collect the FCP adapter
|
||
|
+ * hardware logs, and report the problem to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The FCP adapter reported a problem that cannot be recovered\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * Description:
|
||
|
+ * The FCP adapter has a problem that cannot be recovered by the zfcp device
|
||
|
+ * driver. The zfcp device driver stopped using the FCP device.
|
||
|
+ * User action:
|
||
|
+ * Gather Linux debug data, collect the FCP adapter hardware logs, and report
|
||
|
+ * this problem to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: There is a wrap plug instead of a fibre channel cable\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * Description:
|
||
|
+ * The FCP adapter is not physically connected to the fibre channel fabric.
|
||
|
+ * User action:
|
||
|
+ * Remove the wrap plug from the FCP adapter and connect the adapter with the
|
||
|
+ * fibre channel fabric.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Access denied to unit 0x%016Lx on port 0x%016Lx\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * @2: LUN
|
||
|
+ * @3: WWPN
|
||
|
+ * Description:
|
||
|
+ * The Linux system is not allowed to access the SCSI device at the indicated
|
||
|
+ * LUN.
|
||
|
+ * User action:
|
||
|
+ * Update the access control table of the FCP device to grant the Linux
|
||
|
+ * system access to the LUN or remove the LUN from the Linux system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FCP device not operational because of an unsupported FC class\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * Description:
|
||
|
+ * The FCP adapter hardware does not support the fibre channel service class
|
||
|
+ * requested by the zfcp device driver. This problem indicates a program error
|
||
|
+ * in the zfcp device driver.
|
||
|
+ * User action:
|
||
|
+ * Gather Linux debug data, collect the FCP adapter hardware logs, and report
|
||
|
+ * this problem to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: 0x%Lx is an ambiguous request identifier\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * @2: request ID
|
||
|
+ * Description:
|
||
|
+ * The FCP adapter reported that it received the same request ID twice. This is
|
||
|
+ * an error. The zfcp device driver stopped using the FCP device.
|
||
|
+ * User action:
|
||
|
+ * Gather Linux debug data, collect the FCP adapter hardware logs, and report
|
||
|
+ * this problem to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: QTCB version 0x%x not supported by FCP adapter (0x%x to 0x%x)\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * @2: requested version
|
||
|
+ * @3: lowest supported version
|
||
|
+ * @4: highest supported version
|
||
|
+ * Description:
|
||
|
+ * See message text.
|
||
|
+ * The queue transfer control block (QTCB) version requested by the zfcp device
|
||
|
+ * driver is not supported by the FCP adapter hardware.
|
||
|
+ * User action:
|
||
|
+ * If the requested version is higher than the highest version supported by the
|
||
|
+ * hardware, install more recent firmware on the FCP adapter. If the requested
|
||
|
+ * version is lower then the lowest version supported by the hardware, upgrade
|
||
|
+ * to a Linux level with a more recent zfcp device driver.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The FCP adapter could not log in to the fibre channel fabric\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * Description:
|
||
|
+ * The fibre channel switch rejected the login request from the FCP adapter.
|
||
|
+ * User action:
|
||
|
+ * Check the fibre channel fabric or switch logs for possible errors.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The FCP device is suspended because of a firmware update\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * Description:
|
||
|
+ * The FCP device is not available while a firmware update is in progress. This
|
||
|
+ * problem is temporary. The FCP device will resume operations when the
|
||
|
+ * firmware update is completed.
|
||
|
+ * User action:
|
||
|
+ * Wait 10 seconds and try the operation again.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: All NPIV ports on the FCP adapter have been assigned\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * Description:
|
||
|
+ * The number of N_Port ID Virtualization (NPIV) ports that can be assigned
|
||
|
+ * on an FCP adapter is limited. Once assigned, NPIV ports are not released
|
||
|
+ * automatically but have to be released explicitly through the support
|
||
|
+ * element (SE).
|
||
|
+ * User action:
|
||
|
+ * Identify NPIV ports that have been assigned but are no longer in use and
|
||
|
+ * release them from the SE.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The link between the FCP adapter and the FC fabric is down\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * Description:
|
||
|
+ * The FCP adapter is not usable. Specific error information is not available.
|
||
|
+ * User action:
|
||
|
+ * Check the cabling and the fibre channel fabric configuration. If this
|
||
|
+ * problem persists, gather Linux debug data, collect the FCP adapter
|
||
|
+ * hardware logs, and report the problem to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Access denied to port 0x%016Lx\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * @2: WWPN
|
||
|
+ * Description:
|
||
|
+ * The Linux system is not allowed to access the remote port with the specified
|
||
|
+ * WWPN.
|
||
|
+ * User action:
|
||
|
+ * Update the access control table of the FCP device to grant the Linux
|
||
|
+ * system access to the WWPN or remove the WWPN from the Linux system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The QTCB type is not supported by the FCP adapter\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * Description:
|
||
|
+ * The queue transfer control block (QTCB) type requested by the zfcp device
|
||
|
+ * driver is not supported by the FCP adapter hardware.
|
||
|
+ * User action:
|
||
|
+ * Install the latest firmware on your FCP adapter hardware. If this does not
|
||
|
+ * resolve the problem, upgrade to a Linux level with a more recent zfcp device
|
||
|
+ * driver. If the problem persists, contact your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The error threshold for checksum statistics has been exceeded\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * Description:
|
||
|
+ * The FCP adapter has reported a large number of bit errors. This might
|
||
|
+ * indicate a problem with the physical components of the fibre channel fabric.
|
||
|
+ * Details about the errors have been written to the HBA trace for the FCP
|
||
|
+ * adapter.
|
||
|
+ * User action:
|
||
|
+ * Check for problems in the fibre channel fabric and ensure that all cables
|
||
|
+ * are properly plugged.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The local link has been restored\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * Description:
|
||
|
+ * A problem with the connection between the FCP adapter and the adjacent node
|
||
|
+ * on the fibre channel fabric has been resolved. The FCP adapter is now
|
||
|
+ * available again.
|
||
|
+ * User action:
|
||
|
+ * None.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Access denied according to ACT rule type %s, rule %d\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * @2: access rule type
|
||
|
+ * @3: access rule
|
||
|
+ * Description:
|
||
|
+ * A rule in the access control table (ACT) for the FCP device denies access
|
||
|
+ * to a remote port or a LUN.
|
||
|
+ * User action:
|
||
|
+ * Examine the access control tables for the FCP device to see if the
|
||
|
+ * specified rule is correct.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The mode table on the FCP adapter has been damaged\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * Description:
|
||
|
+ * This is an FCP adapter hardware problem.
|
||
|
+ * User action:
|
||
|
+ * Report this problem with FCP hardware logs to IBM support.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The adjacent fibre channel node does not support FCP\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * Description:
|
||
|
+ * The fibre channel switch or storage system that is connected to the FCP
|
||
|
+ * channel does not support the fibre channel protocol (FCP). The zfcp
|
||
|
+ * device driver stopped using the FCP device.
|
||
|
+ * User action:
|
||
|
+ * Check the adjacent fibre channel node.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The FCP adapter does not recognize the command 0x%x\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * @2: command
|
||
|
+ * Description:
|
||
|
+ * A command code that was sent from the zfcp device driver to the FCP adapter
|
||
|
+ * is not valid. The zfcp device driver stopped using the FCP device.
|
||
|
+ * User action:
|
||
|
+ * Gather Linux debug data, collect the FCP adapter hardware logs, and report
|
||
|
+ * this problem to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: There is no light signal from the local fibre channel cable\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * Description:
|
||
|
+ * There is no signal on the fibre channel cable that connects the FCP adapter
|
||
|
+ * to the fibre channel fabric.
|
||
|
+ * User action:
|
||
|
+ * Ensure that the cable is in place and connected properly to the FCP adapter
|
||
|
+ * and to the adjacent fibre channel switch or storage system.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The WWPN assignment file on the FCP adapter has been damaged\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * Description:
|
||
|
+ * This is an FCP adapter hardware problem.
|
||
|
+ * User action:
|
||
|
+ * Report this problem with FCP hardware logs to IBM support.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The FCP device detected a WWPN that is duplicate or not valid\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * Description:
|
||
|
+ * This condition indicates an error in the FCP adapter hardware or in the z/VM
|
||
|
+ * hypervisor.
|
||
|
+ * User action:
|
||
|
+ * Gather Linux debug data, collect the FCP adapter hardware logs, and report
|
||
|
+ * this problem to IBM support.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The fibre channel fabric does not support NPIV\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * Description:
|
||
|
+ * The FCP adapter requires N_Port ID Virtualization (NPIV) from the adjacent
|
||
|
+ * fibre channel node. Either the FCP adapter is connected to a fibre channel
|
||
|
+ * switch that does not support NPIV or the FCP adapter tries to use NPIV in a
|
||
|
+ * point-to-point setup. The connection is not operational.
|
||
|
+ * User action:
|
||
|
+ * Verify that NPIV is correctly used for this connection. Check the FCP adapter
|
||
|
+ * configuration and the fibre channel switch configuration. If necessary,
|
||
|
+ * update the fibre channel switch firmware.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The FCP adapter cannot support more NPIV ports\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * Description:
|
||
|
+ * N_Port ID Virtualization (NPIV) ports consume physical resources on the FCP
|
||
|
+ * adapter. The FCP adapter resources are exhausted. The connection is not
|
||
|
+ * operational.
|
||
|
+ * User action:
|
||
|
+ * Analyze the number of available NPIV ports and which operating system
|
||
|
+ * instances use them. If necessary, reconfigure your setup to move some
|
||
|
+ * NPIV ports to an FCP adapter with free resources.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The adjacent switch cannot support more NPIV ports\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * Description:
|
||
|
+ * N_Port ID Virtualization (NPIV) ports consume physical resources. The
|
||
|
+ * resources of the fibre channel switch that is connected to the FCP adapter
|
||
|
+ * are exhausted. The connection is not operational.
|
||
|
+ * User action:
|
||
|
+ * Analyze the number of available NPIV ports on the adjacent fibre channel
|
||
|
+ * switch and how they are used. If necessary, reconfigure your fibre channel
|
||
|
+ * fabric to accommodate the required NPIV ports.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: 0x%x is not a valid transfer protocol status\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * @2: status information
|
||
|
+ * Description:
|
||
|
+ * The transfer protocol status information reported by the FCP adapter is not
|
||
|
+ * a valid status for the zfcp device driver. The zfcp device driver stopped
|
||
|
+ * using the FCP device.
|
||
|
+ * User action:
|
||
|
+ * Gather Linux debug data, collect the FCP adapter hardware logs, and report
|
||
|
+ * this problem to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Unknown or unsupported arbitrated loop fibre channel topology detected\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * Description:
|
||
|
+ * The FCP device is connected to a fibre channel arbitrated loop or the FCP adapter
|
||
|
+ * reported an unknown fibre channel topology. The zfcp device driver supports
|
||
|
+ * point-to-point connections and switched fibre channel fabrics but not arbitrated
|
||
|
+ * loop topologies. The FCP device cannot be used.
|
||
|
+ * User action:
|
||
|
+ * Check the fibre channel setup and ensure that only supported topologies are
|
||
|
+ * connected to the FCP adapter.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: FCP adapter maximum QTCB size (%d bytes) is too small\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * @2: maximum supported size
|
||
|
+ * @3: requested QTCB size
|
||
|
+ * Description:
|
||
|
+ * The queue transfer control block (QTCB) size requested by the zfcp
|
||
|
+ * device driver is not supported by the FCP adapter hardware.
|
||
|
+ * User action:
|
||
|
+ * Update the firmware on your FCP adapter hardware to the latest
|
||
|
+ * available level and update the Linux kernel to the latest supported
|
||
|
+ * level. If the problem persists, contact your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The FCP adapter only supports newer control block versions\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * Description:
|
||
|
+ * The protocol supported by the FCP adapter is not compatible with the zfcp
|
||
|
+ * device driver.
|
||
|
+ * User action:
|
||
|
+ * Upgrade your Linux kernel to a level that includes a zfcp device driver
|
||
|
+ * with support for the control block version required by your FCP adapter.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The FCP adapter only supports older control block versions\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * Description:
|
||
|
+ * The protocol supported by the FCP adapter is not compatible with the zfcp
|
||
|
+ * device driver.
|
||
|
+ * User action:
|
||
|
+ * Install the latest firmware on your FCP adapter.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Not enough FCP adapter resources to open remote port 0x%016Lx\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * @2: WWPN
|
||
|
+ * Description:
|
||
|
+ * Each port that is opened consumes physical resources of the FCP adapter to
|
||
|
+ * which it is attached. These resources are exhausted and the specified port
|
||
|
+ * cannot be opened.
|
||
|
+ * User action:
|
||
|
+ * Reduce the total number of remote ports that are attached to the
|
||
|
+ * FCP adapter.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: LUN 0x%Lx on port 0x%Lx is already in use by CSS%d, MIF Image ID %x\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * @2: LUN
|
||
|
+ * @3: remote port WWPN
|
||
|
+ * @4: channel subsystem ID
|
||
|
+ * @5: MIF Image ID of the LPAR
|
||
|
+ * Description:
|
||
|
+ * The SCSI device at the indicated LUN is already in use by another system.
|
||
|
+ * Only one system at a time can use the SCSI device.
|
||
|
+ * User action:
|
||
|
+ * Ensure that the other system stops using the device before trying to use it.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: No handle is available for LUN 0x%016Lx on port 0x%016Lx\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * @2: LUN
|
||
|
+ * @3: WWPN
|
||
|
+ * Description:
|
||
|
+ * The FCP adapter can only open a limited number of SCSI devices. This limit
|
||
|
+ * has been reached and the SCSI device at the indicated LUN cannot be opened.
|
||
|
+ * User action:
|
||
|
+ * Check all SCSI devices opened through the FCP adapter and close some of them.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: SCSI device at LUN 0x%016Lx on port 0x%016Lx opened read-only\n"
|
||
|
+ * Severity: Informational
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * @2: LUN
|
||
|
+ * @3: WWPN
|
||
|
+ * Description:
|
||
|
+ * The access control tables in the FCP adapter allow read-only access for the
|
||
|
+ * LUN. Write access is not permitted for your Linux instance. The SCSI
|
||
|
+ * device has been opened successfully in read-only access mode.
|
||
|
+ * User action:
|
||
|
+ * None if read-only access is sufficient. If you require write access, change
|
||
|
+ * the access control tables in the FCP adapter.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Exclusive read-only access not supported (unit 0x%016Lx, port 0x%016Lx)\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * @2: LUN
|
||
|
+ * @3: WWPN
|
||
|
+ * Description:
|
||
|
+ * The access configuration specified in the access control tables of the FCP
|
||
|
+ * adapter is not valid. The SCSI device at the indicated LUN cannot be
|
||
|
+ * accessed.
|
||
|
+ * User action:
|
||
|
+ * Change the access control tables in the FCP adapter.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Shared read-write access not supported (unit 0x%016Lx, port 0x%016Lx)\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * @2: LUN
|
||
|
+ * @3: WWPN
|
||
|
+ * Description:
|
||
|
+ * The access configuration specified in the access control tables of the FCP
|
||
|
+ * adapter is not valid. The SCSI device at the indicated LUN cannot be
|
||
|
+ * accessed.
|
||
|
+ * User action:
|
||
|
+ * Change the access control tables in the FCP adapter.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Incorrect direction %d, unit 0x%016Lx on port 0x%016Lx closed\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * @2: value in direction field
|
||
|
+ * @3: LUN
|
||
|
+ * @4: WWPN
|
||
|
+ * Description:
|
||
|
+ * The direction field in a SCSI request contains an incorrect value. The zfcp
|
||
|
+ * device driver closed down the SCSI device at the indicated LUN.
|
||
|
+ * User action:
|
||
|
+ * Gather Linux debug data and report this problem to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Incorrect CDB length %d, unit 0x%016Lx on port 0x%016Lx closed\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * @2: value in length field
|
||
|
+ * @3: LUN
|
||
|
+ * @4: WWPN
|
||
|
+ * Description:
|
||
|
+ * The control-data-block (CDB) length field in a SCSI request is not valid or
|
||
|
+ * too large for the FCP adapter. The zfcp device driver closed down the SCSI
|
||
|
+ * device at the indicated LUN.
|
||
|
+ * User action:
|
||
|
+ * Gather Linux debug data and report this problem to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Oversize data package, unit 0x%016Lx on port 0x%016Lx closed\n"
|
||
|
+ * Severity: Error
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * @2: LUN
|
||
|
+ * @3: WWPN
|
||
|
+ * Description:
|
||
|
+ * A SCSI request with too much data has been sent to the SCSI device at the
|
||
|
+ * indicated LUN. The FCP adapter cannot handle data packets of this size and
|
||
|
+ * the SCSI device driver closed down the SCSI device.
|
||
|
+ * User action:
|
||
|
+ * Gather Linux debug data and report this problem to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: Opening WKA port 0x%x failed\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * @2: destination ID of the WKA port
|
||
|
+ * Description:
|
||
|
+ * The FCP adapter rejected a request to open the specified
|
||
|
+ * well-known address (WKA) port. No retry is possible.
|
||
|
+ * User action:
|
||
|
+ * Verify the setup and check if the maximum number of remote ports
|
||
|
+ * used through this adapter is below the maximum allowed. If the
|
||
|
+ * problem persists, gather Linux debug data, collect the FCP adapter
|
||
|
+ * hardware logs, and report the problem to your support organization.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: The name server reported %d words residual data\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * @2: number of words in residual data
|
||
|
+ * Description:
|
||
|
+ * The fibre channel name server sent too much information about remote ports.
|
||
|
+ * The zfcp device driver did not receive sufficient information to attach all
|
||
|
+ * available remote ports in the SAN.
|
||
|
+ * User action:
|
||
|
+ * Verify that you are running the latest firmware level on the FCP
|
||
|
+ * adapter. Check your SAN setup and consider reducing the number of ports
|
||
|
+ * visible to the FCP adapter by using more restrictive zoning in the SAN.
|
||
|
+ */
|
||
|
+
|
||
|
+/*?
|
||
|
+ * Text: "%s: A port opened with WWPN 0x%016Lx returned data that identifies it as WWPN 0x%016Lx\n"
|
||
|
+ * Severity: Warning
|
||
|
+ * Parameter:
|
||
|
+ * @1: bus ID of the zfcp device
|
||
|
+ * @2: expected WWPN
|
||
|
+ * @3: reported WWPN
|
||
|
+ * Description:
|
||
|
+ * A remote port was opened successfully, but it reported an
|
||
|
+ * unexpected WWPN in the returned port login (PLOGI) data. This
|
||
|
+ * condition might have been caused by a change applied to the SAN
|
||
|
+ * configuration while the port was being opened.
|
||
|
+ * User action:
|
||
|
+ * If this condition is only temporary and access to the remote port
|
||
|
+ * is possible, no action is required. If the condition persists,
|
||
|
+ * identify the storage system with the specified WWPN and contact the
|
||
|
+ * support organization of the storage system.
|
||
|
+ */
|
||
|
--- a/Makefile
|
||
|
+++ b/Makefile
|
||
|
@@ -65,6 +65,20 @@ ifndef KBUILD_CHECKSRC
|
||
|
KBUILD_CHECKSRC = 0
|
||
|
endif
|
||
|
|
||
|
+# Call message checker as part of the C compilation
|
||
|
+#
|
||
|
+# Use 'make D=1' to enable checking
|
||
|
+# Use 'make D=2' to create the message catalog
|
||
|
+
|
||
|
+ifdef D
|
||
|
+ ifeq ("$(origin D)", "command line")
|
||
|
+ KBUILD_KMSG_CHECK = $(D)
|
||
|
+ endif
|
||
|
+endif
|
||
|
+ifndef KBUILD_KMSG_CHECK
|
||
|
+ KBUILD_KMSG_CHECK = 0
|
||
|
+endif
|
||
|
+
|
||
|
# Use make M=dir to specify directory of external module to build
|
||
|
# Old syntax make ... SUBDIRS=$PWD is still supported
|
||
|
# Setting the environment variable KBUILD_EXTMOD take precedence
|
||
|
@@ -329,6 +343,7 @@ CHECK = sparse
|
||
|
|
||
|
CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \
|
||
|
-Wbitwise -Wno-return-void $(CF)
|
||
|
+KMSG_CHECK = $(srctree)/scripts/kmsg-doc
|
||
|
MODFLAGS = -DMODULE
|
||
|
CFLAGS_MODULE = $(MODFLAGS)
|
||
|
AFLAGS_MODULE = $(MODFLAGS)
|
||
|
@@ -371,6 +386,7 @@ export HOSTCXX HOSTCXXFLAGS LDFLAGS_MODU
|
||
|
export KBUILD_CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS LDFLAGS
|
||
|
export KBUILD_CFLAGS CFLAGS_KERNEL CFLAGS_MODULE CFLAGS_GCOV
|
||
|
export KBUILD_AFLAGS AFLAGS_KERNEL AFLAGS_MODULE
|
||
|
+export KBUILD_KMSG_CHECK KMSG_CHECK
|
||
|
|
||
|
# When compiling out-of-tree modules, put MODVERDIR in the module
|
||
|
# tree rather than in the kernel tree. The kernel tree might
|
||
|
--- a/arch/s390/Kconfig
|
||
|
+++ b/arch/s390/Kconfig
|
||
|
@@ -597,6 +597,14 @@ bool "s390 guest support for KVM (EXPERI
|
||
|
virtio transport. If KVM is detected, the virtio console will be
|
||
|
the default console.
|
||
|
|
||
|
+config KMSG_IDS
|
||
|
+ bool "Kernel message numbers"
|
||
|
+ default y
|
||
|
+ help
|
||
|
+ Select this option if you want to include a message number to the
|
||
|
+ prefix for kernel messages issued by the s390 architecture and
|
||
|
+ driver code. See "Documentation/s390/kmsg.txt" for more details.
|
||
|
+
|
||
|
config SECCOMP
|
||
|
bool "Enable seccomp to safely compute untrusted bytecode"
|
||
|
depends on PROC_FS
|
||
|
--- a/include/linux/device.h
|
||
|
+++ b/include/linux/device.h
|
||
|
@@ -628,20 +628,40 @@ extern const char *dev_driver_string(con
|
||
|
printk(level "%s %s: " format , dev_driver_string(dev) , \
|
||
|
dev_name(dev) , ## arg)
|
||
|
|
||
|
+/* dev_printk_hash for message documentation */
|
||
|
+#if defined(__KMSG_CHECKER) && defined(KMSG_COMPONENT)
|
||
|
+
|
||
|
+/* generate magic string for scripts/kmsg-doc to parse */
|
||
|
+#define dev_printk_hash(level, dev, format, arg...) \
|
||
|
+ __KMSG_DEV(level _FMT_ format _ARGS_ dev, ## arg _END_)
|
||
|
+
|
||
|
+#elif defined(CONFIG_KMSG_IDS) && defined(KMSG_COMPONENT)
|
||
|
+
|
||
|
+int printk_dev_hash(const char *, const char *, const char *, ...);
|
||
|
+#define dev_printk_hash(level, dev, format, arg...) \
|
||
|
+ printk_dev_hash(level "%s.%06x: ", dev_driver_string(dev), \
|
||
|
+ "%s: " format, dev_name(dev), ## arg)
|
||
|
+
|
||
|
+#else /* !defined(CONFIG_KMSG_IDS) */
|
||
|
+
|
||
|
+#define dev_printk_hash dev_printk
|
||
|
+
|
||
|
+#endif
|
||
|
+
|
||
|
#define dev_emerg(dev, format, arg...) \
|
||
|
- dev_printk(KERN_EMERG , dev , format , ## arg)
|
||
|
+ dev_printk_hash(KERN_EMERG , dev , format , ## arg)
|
||
|
#define dev_alert(dev, format, arg...) \
|
||
|
- dev_printk(KERN_ALERT , dev , format , ## arg)
|
||
|
+ dev_printk_hash(KERN_ALERT , dev , format , ## arg)
|
||
|
#define dev_crit(dev, format, arg...) \
|
||
|
- dev_printk(KERN_CRIT , dev , format , ## arg)
|
||
|
+ dev_printk_hash(KERN_CRIT , dev , format , ## arg)
|
||
|
#define dev_err(dev, format, arg...) \
|
||
|
- dev_printk(KERN_ERR , dev , format , ## arg)
|
||
|
+ dev_printk_hash(KERN_ERR , dev , format , ## arg)
|
||
|
#define dev_warn(dev, format, arg...) \
|
||
|
- dev_printk(KERN_WARNING , dev , format , ## arg)
|
||
|
+ dev_printk_hash(KERN_WARNING , dev , format , ## arg)
|
||
|
#define dev_notice(dev, format, arg...) \
|
||
|
- dev_printk(KERN_NOTICE , dev , format , ## arg)
|
||
|
+ dev_printk_hash(KERN_NOTICE , dev , format , ## arg)
|
||
|
#define dev_info(dev, format, arg...) \
|
||
|
- dev_printk(KERN_INFO , dev , format , ## arg)
|
||
|
+ dev_printk_hash(KERN_INFO , dev , format , ## arg)
|
||
|
|
||
|
#if defined(DEBUG)
|
||
|
#define dev_dbg(dev, format, arg...) \
|
||
|
--- a/include/linux/kernel.h
|
||
|
+++ b/include/linux/kernel.h
|
||
|
@@ -387,22 +387,41 @@ static inline char *pack_hex_byte(char *
|
||
|
#define pr_fmt(fmt) fmt
|
||
|
#endif
|
||
|
|
||
|
+#if defined(__KMSG_CHECKER) && defined(KMSG_COMPONENT)
|
||
|
+
|
||
|
+/* generate magic string for scripts/kmsg-doc to parse */
|
||
|
+#define pr_printk_hash(level, format, ...) \
|
||
|
+ __KMSG_PRINT(level _FMT_ format _ARGS_ ##__VA_ARGS__ _END_)
|
||
|
+
|
||
|
+#elif defined(CONFIG_KMSG_IDS) && defined(KMSG_COMPONENT)
|
||
|
+
|
||
|
+int printk_hash(const char *, const char *, ...);
|
||
|
+#define pr_printk_hash(level, format, ...) \
|
||
|
+ printk_hash(level KMSG_COMPONENT ".%06x" ": ", format, ##__VA_ARGS__)
|
||
|
+
|
||
|
+#else /* !defined(CONFIG_KMSG_IDS) */
|
||
|
+
|
||
|
+#define pr_printk_hash(level, format, ...) \
|
||
|
+ printk(level pr_fmt(format), ##__VA_ARGS__)
|
||
|
+
|
||
|
+#endif
|
||
|
+
|
||
|
#define pr_emerg(fmt, ...) \
|
||
|
- printk(KERN_EMERG pr_fmt(fmt), ##__VA_ARGS__)
|
||
|
+ pr_printk_hash(KERN_EMERG, fmt, ##__VA_ARGS__)
|
||
|
#define pr_alert(fmt, ...) \
|
||
|
- printk(KERN_ALERT pr_fmt(fmt), ##__VA_ARGS__)
|
||
|
+ pr_printk_hash(KERN_ALERT, fmt, ##__VA_ARGS__)
|
||
|
#define pr_crit(fmt, ...) \
|
||
|
- printk(KERN_CRIT pr_fmt(fmt), ##__VA_ARGS__)
|
||
|
+ pr_printk_hash(KERN_CRIT, fmt, ##__VA_ARGS__)
|
||
|
#define pr_err(fmt, ...) \
|
||
|
- printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
|
||
|
+ pr_printk_hash(KERN_ERR, fmt, ##__VA_ARGS__)
|
||
|
#define pr_warning(fmt, ...) \
|
||
|
- printk(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)
|
||
|
+ pr_printk_hash(KERN_WARNING, fmt, ##__VA_ARGS__)
|
||
|
#define pr_notice(fmt, ...) \
|
||
|
- printk(KERN_NOTICE pr_fmt(fmt), ##__VA_ARGS__)
|
||
|
+ pr_printk_hash(KERN_NOTICE, fmt, ##__VA_ARGS__)
|
||
|
#define pr_info(fmt, ...) \
|
||
|
- printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
|
||
|
+ pr_printk_hash(KERN_INFO, fmt, ##__VA_ARGS__)
|
||
|
#define pr_cont(fmt, ...) \
|
||
|
- printk(KERN_CONT fmt, ##__VA_ARGS__)
|
||
|
+ pr_printk_hash(KERN_CONT, fmt, ##__VA_ARGS__)
|
||
|
|
||
|
/* pr_devel() should produce zero code unless DEBUG is defined */
|
||
|
#ifdef DEBUG
|
||
|
--- a/kernel/printk.c
|
||
|
+++ b/kernel/printk.c
|
||
|
@@ -36,6 +36,8 @@
|
||
|
#include <linux/ratelimit.h>
|
||
|
#include <linux/kmsg_dump.h>
|
||
|
#include <linux/syslog.h>
|
||
|
+#include <linux/jhash.h>
|
||
|
+#include <linux/device.h>
|
||
|
|
||
|
#include <asm/uaccess.h>
|
||
|
|
||
|
@@ -1534,3 +1536,46 @@ void kmsg_dump(enum kmsg_dump_reason rea
|
||
|
spin_unlock_irqrestore(&dump_list_lock, flags);
|
||
|
}
|
||
|
#endif
|
||
|
+
|
||
|
+#if defined CONFIG_PRINTK && defined CONFIG_KMSG_IDS
|
||
|
+
|
||
|
+/**
|
||
|
+ * printk_hash - print a kernel message include a hash over the message
|
||
|
+ * @prefix: message prefix including the ".%06x" for the hash
|
||
|
+ * @fmt: format string
|
||
|
+ */
|
||
|
+asmlinkage int printk_hash(const char *prefix, const char *fmt, ...)
|
||
|
+{
|
||
|
+ va_list args;
|
||
|
+ int r;
|
||
|
+
|
||
|
+ r = printk(prefix, jhash(fmt, strlen(fmt), 0) & 0xffffff);
|
||
|
+ va_start(args, fmt);
|
||
|
+ r += vprintk(fmt, args);
|
||
|
+ va_end(args);
|
||
|
+
|
||
|
+ return r;
|
||
|
+}
|
||
|
+EXPORT_SYMBOL(printk_hash);
|
||
|
+
|
||
|
+/**
|
||
|
+ * printk_dev_hash - print a kernel message include a hash over the message
|
||
|
+ * @prefix: message prefix including the ".%06x" for the hash
|
||
|
+ * @dev: device this printk is all about
|
||
|
+ * @fmt: format string
|
||
|
+ */
|
||
|
+asmlinkage int printk_dev_hash(const char *prefix, const char *driver_name,
|
||
|
+ const char *fmt, ...)
|
||
|
+{
|
||
|
+ va_list args;
|
||
|
+ int r;
|
||
|
+
|
||
|
+ r = printk(prefix, driver_name, jhash(fmt, strlen(fmt), 0) & 0xffffff);
|
||
|
+ va_start(args, fmt);
|
||
|
+ r += vprintk(fmt, args);
|
||
|
+ va_end(args);
|
||
|
+
|
||
|
+ return r;
|
||
|
+}
|
||
|
+EXPORT_SYMBOL(printk_dev_hash);
|
||
|
+#endif
|
||
|
--- a/scripts/Makefile.build
|
||
|
+++ b/scripts/Makefile.build
|
||
|
@@ -229,12 +229,14 @@ endef
|
||
|
# Built-in and composite module parts
|
||
|
$(obj)/%.o: $(src)/%.c FORCE
|
||
|
$(call cmd,force_checksrc)
|
||
|
+ $(call cmd,force_check_kmsg)
|
||
|
$(call if_changed_rule,cc_o_c)
|
||
|
|
||
|
# Single-part modules are special since we need to mark them in $(MODVERDIR)
|
||
|
|
||
|
$(single-used-m): $(obj)/%.o: $(src)/%.c FORCE
|
||
|
$(call cmd,force_checksrc)
|
||
|
+ $(call cmd,force_check_kmsg)
|
||
|
$(call if_changed_rule,cc_o_c)
|
||
|
@{ echo $(@:.o=.ko); echo $@; } > $(MODVERDIR)/$(@F:.o=.mod)
|
||
|
|
||
|
@@ -358,6 +360,18 @@ $(multi-used-m) : %.o: $(multi-objs-m) F
|
||
|
|
||
|
targets += $(multi-used-y) $(multi-used-m)
|
||
|
|
||
|
+# kmsg check tool
|
||
|
+ifneq ($(KBUILD_KMSG_CHECK),0)
|
||
|
+ ifeq ($(KBUILD_KMSG_CHECK),2)
|
||
|
+ kmsg_cmd := print
|
||
|
+ quiet_cmd_force_check_kmsg = KMSG_PRINT $<
|
||
|
+ $(shell [ -d $(objtree)/man ] || mkdir -p $(objtree)/man)
|
||
|
+ else
|
||
|
+ kmsg_cmd := check
|
||
|
+ quiet_cmd_force_check_kmsg = KMSG_CHECK $<
|
||
|
+ endif
|
||
|
+ cmd_force_check_kmsg = $(KMSG_CHECK) $(kmsg_cmd) $(CC) $(c_flags) $< ;
|
||
|
+endif
|
||
|
|
||
|
# Descending
|
||
|
# ---------------------------------------------------------------------------
|
||
|
--- /dev/null
|
||
|
+++ b/scripts/kmsg-doc
|
||
|
@@ -0,0 +1,479 @@
|
||
|
+#!/usr/bin/perl -w
|
||
|
+#
|
||
|
+# kmsg kernel messages check and print tool.
|
||
|
+#
|
||
|
+# To check the source code for missing messages the script is called
|
||
|
+# with check, the name compiler and the compile parameters
|
||
|
+# kmsg-doc check $(CC) $(c_flags) $<
|
||
|
+# To create man pages for the messages the script is called with
|
||
|
+# kmsg-doc print $(CC) $(c_flags) $<
|
||
|
+#
|
||
|
+# Copyright IBM Corp. 2008
|
||
|
+# Author(s): Martin Schwidefsky <schwidefsky@de.ibm.com>
|
||
|
+# Michael Holzheu <holzheu@linux.vnet.ibm.com>
|
||
|
+#
|
||
|
+
|
||
|
+use Cwd;
|
||
|
+use Switch;
|
||
|
+use bigint;
|
||
|
+
|
||
|
+my $errors = 0;
|
||
|
+my $warnings = 0;
|
||
|
+my $srctree = "";
|
||
|
+my $objtree = "";
|
||
|
+my $kmsg_count = 0;
|
||
|
+
|
||
|
+sub remove_quotes($)
|
||
|
+{
|
||
|
+ my ($string) = @_;
|
||
|
+ my $inside = 0;
|
||
|
+ my $slash = 0;
|
||
|
+ my $result = "";
|
||
|
+
|
||
|
+ foreach my $str (split(/([\\"])/, $string)) {
|
||
|
+ if ($inside && ($str ne "\"" || $slash)) {
|
||
|
+ $result .= $str;
|
||
|
+ }
|
||
|
+ # Check for backslash before quote
|
||
|
+ if ($str eq "\"") {
|
||
|
+ if (!$slash) {
|
||
|
+ $inside = !$inside;
|
||
|
+ }
|
||
|
+ $slash = 0;
|
||
|
+ } elsif ($str eq "\\") {
|
||
|
+ $slash = !$slash;
|
||
|
+ } elsif ($str ne "") {
|
||
|
+ $slash = 0;
|
||
|
+ }
|
||
|
+ }
|
||
|
+ return $result;
|
||
|
+}
|
||
|
+
|
||
|
+sub string_to_bytes($)
|
||
|
+{
|
||
|
+ my ($string) = @_;
|
||
|
+ my %is_escape = ('"', 0x22, '\'', 0x27, 'n', 0x0a, 'r', 0x0d, 'b', 0x08,
|
||
|
+ 't', 0x09, 'f', 0x0c, 'a', 0x07, 'v', 0x0b, '?', 0x3f);
|
||
|
+ my (@ar, $slash, $len);
|
||
|
+
|
||
|
+ # scan string, interpret backslash escapes and write bytes to @ar
|
||
|
+ $len = 0;
|
||
|
+ foreach my $ch (split(//, $string)) {
|
||
|
+ if ($ch eq '\\') {
|
||
|
+ $slash = !$slash;
|
||
|
+ if (!$slash) {
|
||
|
+ $ar[$len] = ord('\\');
|
||
|
+ $len++;
|
||
|
+ }
|
||
|
+ } elsif ($slash && defined $is_escape{$ch}) {
|
||
|
+ # C99 backslash escapes: \\ \" \' \n \r \b \t \f \a \v \?
|
||
|
+ $ar[$len] = $is_escape{$ch};
|
||
|
+ $len++;
|
||
|
+ $slash = 0;
|
||
|
+ } elsif ($slash) {
|
||
|
+ # FIXME: C99 backslash escapes \nnn \xhh
|
||
|
+ die("Unknown backslash escape in message $string.");
|
||
|
+ } else {
|
||
|
+ # normal character
|
||
|
+ $ar[$len] = ord($ch);
|
||
|
+ $len++;
|
||
|
+ }
|
||
|
+ }
|
||
|
+ return @ar;
|
||
|
+}
|
||
|
+
|
||
|
+sub calc_jhash($)
|
||
|
+{
|
||
|
+ my ($string) = @_;
|
||
|
+ my @ar;
|
||
|
+ my ($a, $b, $c, $i, $length, $len);
|
||
|
+
|
||
|
+ @ar = string_to_bytes($string);
|
||
|
+ $length = @ar;
|
||
|
+ # add dummy elements to @ar to avoid if then else hell
|
||
|
+ push @ar, (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||
|
+ $a = 0x9e3779b9;
|
||
|
+ $b = 0x9e3779b9;
|
||
|
+ $c = 0;
|
||
|
+ $i = 0;
|
||
|
+ for ($len = $length + 12; $len >= 12; $len -= 12) {
|
||
|
+ if ($len < 24) {
|
||
|
+ # add length for last round
|
||
|
+ $c += $length;
|
||
|
+ }
|
||
|
+ $a += $ar[$i] + ($ar[$i+1]<<8) + ($ar[$i+2]<<16) + ($ar[$i+3]<<24);
|
||
|
+ $b += $ar[$i+4] + ($ar[$i+5]<<8) + ($ar[$i+6]<<16) + ($ar[$i+7]<<24);
|
||
|
+ if ($len >= 24) {
|
||
|
+ $c += $ar[$i+8] + ($ar[$i+9]<<8) + ($ar[$i+10]<<16) + ($ar[$i+11]<<24);
|
||
|
+ } else {
|
||
|
+ $c += ($ar[$i+8]<<8) + ($ar[$i+9]<<16) + ($ar[$i+10]<<24);
|
||
|
+ }
|
||
|
+ $a &= 0xffffffff; $b &= 0xffffffff; $c &= 0xffffffff;
|
||
|
+ $a -= $b; $a -= $c; $a ^= ($c >> 13); $a &= 0xffffffff;
|
||
|
+ $b -= $c; $b -= $a; $b ^= ($a << 8); $b &= 0xffffffff;
|
||
|
+ $c -= $a; $c -= $b; $c ^= ($b >> 13); $c &= 0xffffffff;
|
||
|
+ $a -= $b; $a -= $c; $a ^= ($c >> 12); $a &= 0xffffffff;
|
||
|
+ $b -= $c; $b -= $a; $b ^= ($a << 16); $b &= 0xffffffff;
|
||
|
+ $c -= $a; $c -= $b; $c ^= ($b >> 5); $c &= 0xffffffff;
|
||
|
+ $a -= $b; $a -= $c; $a ^= ($c >> 3); $a &= 0xffffffff;
|
||
|
+ $b -= $c; $b -= $a; $b ^= ($a << 10); $b &= 0xffffffff;
|
||
|
+ $c -= $a; $c -= $b; $c ^= ($b >> 15); $c &= 0xffffffff;
|
||
|
+ $i += 12;
|
||
|
+ }
|
||
|
+ return $c;
|
||
|
+}
|
||
|
+
|
||
|
+sub add_kmsg_desc($$$$$$)
|
||
|
+{
|
||
|
+ my ($component, $text, $sev, $argv, $desc, $user) = @_;
|
||
|
+ my ($hash, $tag);
|
||
|
+
|
||
|
+ $text = remove_quotes($text);
|
||
|
+ $hash = substr(sprintf("%08x", calc_jhash($text)), 2, 6);
|
||
|
+ $tag = $component . "." . $hash;
|
||
|
+
|
||
|
+ if ($kmsg_desc{$tag}) {
|
||
|
+ if ($text ne $kmsg_desc{$tag}->{'TEXT'}) {
|
||
|
+ warn "Duplicate message with tag $tag\n";
|
||
|
+ warn " --- $kmsg_desc{$tag}->{'TEXT'}\n";
|
||
|
+ warn " +++ $text\n";
|
||
|
+ } else {
|
||
|
+ warn "Duplicate message description for \"$text\"\n";
|
||
|
+ }
|
||
|
+ $errors++;
|
||
|
+ return;
|
||
|
+ }
|
||
|
+ $kmsg_desc{$tag}->{'TEXT'} = $text;
|
||
|
+ $kmsg_desc{$tag}->{'SEV'} = $sev;
|
||
|
+ $kmsg_desc{$tag}->{'ARGV'} = $argv;
|
||
|
+ $kmsg_desc{$tag}->{'DESC'} = $desc;
|
||
|
+ $kmsg_desc{$tag}->{'USER'} = $user;
|
||
|
+}
|
||
|
+
|
||
|
+sub add_kmsg_print($$$$)
|
||
|
+{
|
||
|
+ my ($component, $sev, $text, $argv) = @_;
|
||
|
+ my ($hash, $tag, $count, $parm);
|
||
|
+
|
||
|
+ $text = remove_quotes($text);
|
||
|
+ $hash = substr(sprintf("%08x", calc_jhash($text)), 2, 6);
|
||
|
+ $tag = $component . "." . $hash;
|
||
|
+
|
||
|
+ # Pretty print severity
|
||
|
+ $sev =~ s/"<0>"/Emerg/;
|
||
|
+ $sev =~ s/"<1>"/Alert/;
|
||
|
+ $sev =~ s/"<2>"/Critical/;
|
||
|
+ $sev =~ s/"<3>"/Error/;
|
||
|
+ $sev =~ s/"<4>"/Warning/;
|
||
|
+ $sev =~ s/"<5>"/Notice/;
|
||
|
+ $sev =~ s/"<6>"/Informational/;
|
||
|
+ $sev =~ s/"<7>"/Debug/;
|
||
|
+ $kmsg_print{$kmsg_count}->{'TAG'} = $tag;
|
||
|
+ $kmsg_print{$kmsg_count}->{'TEXT'} = $text;
|
||
|
+ $kmsg_print{$kmsg_count}->{'SEV'} = $sev;
|
||
|
+ $kmsg_print{$kmsg_count}->{'ARGV'} = $argv;
|
||
|
+ $kmsg_count += 1;
|
||
|
+}
|
||
|
+
|
||
|
+sub process_source_file($$)
|
||
|
+{
|
||
|
+ my ($component, $file) = @_;
|
||
|
+ my $state;
|
||
|
+ my ($text, $sev, $argv, $desc, $user);
|
||
|
+
|
||
|
+ if (!open(FD, "$file")) {
|
||
|
+ return "";
|
||
|
+ }
|
||
|
+
|
||
|
+ $state = 0;
|
||
|
+ while (<FD>) {
|
||
|
+ chomp;
|
||
|
+ # kmsg message component: #define KMSG_COMPONENT "<component>"
|
||
|
+ if (/^#define\s+KMSG_COMPONENT\s+\"(.*)\"[^\"]*$/o) {
|
||
|
+ $component = $1;
|
||
|
+ }
|
||
|
+ if ($state == 0) {
|
||
|
+ # single line kmsg for undocumented messages, format:
|
||
|
+ # /*? Text: "<message>" */
|
||
|
+ if (/^\s*\/\*\?\s*Text:\s*(\".*\")\s*\*\/\s*$/o) {
|
||
|
+ add_kmsg_desc($component, $1, "", "", "", "");
|
||
|
+ }
|
||
|
+ # kmsg message start: '/*?'
|
||
|
+ if (/^\s*\/\*\?\s*$/o) {
|
||
|
+ $state = 1;
|
||
|
+ ($text, $sev, $argv, $desc, $user) = ( "", "", "", "", "" );
|
||
|
+ }
|
||
|
+ } elsif ($state == 1) {
|
||
|
+ # kmsg message end: ' */'
|
||
|
+ if (/^\s*\*\/\s*/o) {
|
||
|
+ add_kmsg_desc($component, $text, $sev, $argv, $desc, $user);
|
||
|
+ $state = 0;
|
||
|
+ }
|
||
|
+ # kmsg message text: ' * Text: "<message>"'
|
||
|
+ elsif (/^\s*\*\s*Text:\s*(\".*\")\s*$/o) {
|
||
|
+ $text = $1;
|
||
|
+ }
|
||
|
+ # kmsg message severity: ' * Severity: <sev>'
|
||
|
+ elsif (/^\s*\*\s*Severity:\s*(\S*)\s*$/o) {
|
||
|
+ $sev = $1;
|
||
|
+ }
|
||
|
+ # kmsg message parameter: ' * Parameter: <argv>'
|
||
|
+ elsif (/^\s*\*\s*Parameter:\s*(\S*)\s*$/o) {
|
||
|
+ if (!defined($1)) {
|
||
|
+ $argv = "";
|
||
|
+ } else {
|
||
|
+ $argv = $1;
|
||
|
+ }
|
||
|
+ $state = 2;
|
||
|
+ }
|
||
|
+ # kmsg message description start: ' * Description:'
|
||
|
+ elsif (/^\s*\*\s*Description:\s*(\S*)\s*$/o) {
|
||
|
+ if (!defined($1)) {
|
||
|
+ $desc = "";
|
||
|
+ } else {
|
||
|
+ $desc = $1;
|
||
|
+ }
|
||
|
+ $state = 3;
|
||
|
+ }
|
||
|
+ # kmsg has unrecognizable lines
|
||
|
+ else {
|
||
|
+ warn "Warning(${file}:$.): Cannot understand $_";
|
||
|
+ $warnings++;
|
||
|
+ $state = 0;
|
||
|
+ }
|
||
|
+ } elsif ($state == 2) {
|
||
|
+ # kmsg message end: ' */'
|
||
|
+ if (/^\s*\*\//o) {
|
||
|
+ warn "Warning(${file}:$.): Missing description, skipping message";
|
||
|
+ $warnings++;
|
||
|
+ $state = 0;
|
||
|
+ }
|
||
|
+ # kmsg message description start: ' * Description:'
|
||
|
+ elsif (/^\s*\*\s*Description:\s*$/o) {
|
||
|
+ $desc = $1;
|
||
|
+ $state = 3;
|
||
|
+ }
|
||
|
+ # kmsg message parameter line: ' * <argv>'
|
||
|
+ elsif (/^\s*\*(.*)$/o) {
|
||
|
+ $argv .= "\n" . $1;
|
||
|
+ } else {
|
||
|
+ warn "Warning(${file}:$.): Cannot understand $_";
|
||
|
+ $warnings++;
|
||
|
+ $state = 0;
|
||
|
+ }
|
||
|
+ } elsif ($state == 3) {
|
||
|
+ # kmsg message end: ' */'
|
||
|
+ if (/^\s*\*\/\s*/o) {
|
||
|
+ add_kmsg_desc($component, $text, $sev, $argv, $desc, $user);
|
||
|
+ $state = 0;
|
||
|
+ }
|
||
|
+ # kmsg message description start: ' * User action:'
|
||
|
+ elsif (/^\s*\*\s*User action:\s*$/o) {
|
||
|
+ $user = $1;
|
||
|
+ $state = 4;
|
||
|
+ }
|
||
|
+ # kmsg message description line: ' * <text>'
|
||
|
+ elsif (/^\s*\*\s*(.*)$/o) {
|
||
|
+ $desc .= "\n" . $1;
|
||
|
+ } else {
|
||
|
+ warn "Warning(${file}:$.): Cannot understand $_";
|
||
|
+ $warnings++;
|
||
|
+ $state = 0;
|
||
|
+ }
|
||
|
+ } elsif ($state == 4) {
|
||
|
+ # kmsg message end: ' */'
|
||
|
+ if (/^\s*\*\/\s*/o) {
|
||
|
+ add_kmsg_desc($component, $text, $sev, $argv, $desc, $user);
|
||
|
+ $state = 0;
|
||
|
+ }
|
||
|
+ # kmsg message user action line: ' * <text>'
|
||
|
+ elsif (/^\s*\*\s*(.*)$/o) {
|
||
|
+ $user .= "\n" . $1;
|
||
|
+ } else {
|
||
|
+ warn "Warning(${file}:$.): Cannot understand $_";
|
||
|
+ $warnings++;
|
||
|
+ $state = 0;
|
||
|
+ }
|
||
|
+ }
|
||
|
+ }
|
||
|
+ return $component;
|
||
|
+}
|
||
|
+
|
||
|
+sub process_cpp_file($$$$)
|
||
|
+{
|
||
|
+ my ($cc, $options, $file, $component) = @_;
|
||
|
+
|
||
|
+ open(FD, "$cc $gcc_options|") or die ("Preprocessing failed.");
|
||
|
+
|
||
|
+ while (<FD>) {
|
||
|
+ chomp;
|
||
|
+ if (/.*__KMSG_PRINT\(\s*(\S*)\s*_FMT_(.*)_ARGS_\s*(.*)?_END_\s*\)/o) {
|
||
|
+ if ($component ne "") {
|
||
|
+ add_kmsg_print($component, $1, $2, $3);
|
||
|
+ } else {
|
||
|
+ warn "Error(${file}:$.): kmsg without component\n";
|
||
|
+ $errors++;
|
||
|
+ }
|
||
|
+ } elsif (/.*__KMSG_DEV\(\s*(\S*)\s*_FMT_(.*)_ARGS_\s*(.*)?_END_\s*\)/o) {
|
||
|
+ if ($component ne "") {
|
||
|
+ add_kmsg_print($component, $1, "\"%s: \"" . $2, $3);
|
||
|
+ } else {
|
||
|
+ warn "Error(${file}:$.): kmsg without component\n";
|
||
|
+ $errors++;
|
||
|
+ }
|
||
|
+ }
|
||
|
+ }
|
||
|
+}
|
||
|
+
|
||
|
+sub check_messages($)
|
||
|
+{
|
||
|
+ my $component = "@_";
|
||
|
+ my $failed = 0;
|
||
|
+
|
||
|
+ for ($i = 0; $i < $kmsg_count; $i++) {
|
||
|
+ $tag = $kmsg_print{$i}->{'TAG'};
|
||
|
+ if (!defined($kmsg_desc{$tag})) {
|
||
|
+ add_kmsg_desc($component,
|
||
|
+ "\"" . $kmsg_print{$i}->{'TEXT'} . "\"",
|
||
|
+ $kmsg_print{$i}->{'SEV'},
|
||
|
+ $kmsg_print{$i}->{'ARGV'},
|
||
|
+ "Please insert description here",
|
||
|
+ "What is the user supposed to do");
|
||
|
+ $kmsg_desc{$tag}->{'CHECK'} = 1;
|
||
|
+ $failed = 1;
|
||
|
+ warn "$component: Missing description for: ".
|
||
|
+ $kmsg_print{$i}->{'TEXT'}."\n";
|
||
|
+ $errors++;
|
||
|
+ next;
|
||
|
+ }
|
||
|
+ if ($kmsg_desc{$tag}->{'SEV'} ne "" &&
|
||
|
+ $kmsg_desc{$tag}->{'SEV'} ne $kmsg_print{$i}->{'SEV'}) {
|
||
|
+ warn "Message severity mismatch for \"$kmsg_print{$i}->{'TEXT'}\"\n";
|
||
|
+ warn " --- $kmsg_desc{$tag}->{'SEV'}\n";
|
||
|
+ warn " +++ $kmsg_print{$i}->{'SEV'}\n";
|
||
|
+ }
|
||
|
+ }
|
||
|
+ return $failed;
|
||
|
+}
|
||
|
+
|
||
|
+sub print_templates()
|
||
|
+{
|
||
|
+ print "Templates for missing messages:\n";
|
||
|
+ foreach $tag ( sort { $kmsg_desc{$a} <=> $kmsg_desc{$b} } keys %kmsg_desc ) {
|
||
|
+ if (!defined($kmsg_desc{$tag}->{'CHECK'})) {
|
||
|
+ next;
|
||
|
+ }
|
||
|
+ print "/*?\n";
|
||
|
+ print " * Text: \"$kmsg_desc{$tag}->{'TEXT'}\"\n";
|
||
|
+ print " * Severity: $kmsg_desc{$tag}->{'SEV'}\n";
|
||
|
+ $argv = $kmsg_desc{$tag}->{'ARGV'};
|
||
|
+ if ($argv ne "") {
|
||
|
+ print " * Parameter:\n";
|
||
|
+ @parms = split(/\s*,\s*/,$kmsg_desc{$tag}->{'ARGV'});
|
||
|
+ $count = 0;
|
||
|
+ foreach $parm (@parms) {
|
||
|
+ $count += 1;
|
||
|
+ if (!($parm eq "")) {
|
||
|
+ print " * \@$count: $parm\n";
|
||
|
+ }
|
||
|
+ }
|
||
|
+ }
|
||
|
+ print " * Description:\n";
|
||
|
+ print " * $kmsg_desc{$tag}->{'DESC'}\n";
|
||
|
+ print " * User action:\n";
|
||
|
+ print " * $kmsg_desc{$tag}->{'USER'}\n";
|
||
|
+ print " */\n\n";
|
||
|
+ }
|
||
|
+}
|
||
|
+
|
||
|
+sub write_man_pages()
|
||
|
+{
|
||
|
+ my ($i, $file);
|
||
|
+
|
||
|
+ for ($i = 0; $i < $kmsg_count; $i++) {
|
||
|
+ $tag = $kmsg_print{$i}->{'TAG'};
|
||
|
+ if (!defined($kmsg_desc{$tag}) ||
|
||
|
+ defined($kmsg_desc{$tag}->{'CHECK'}) ||
|
||
|
+ $kmsg_desc{$tag}->{'DESC'} eq "") {
|
||
|
+ next;
|
||
|
+ }
|
||
|
+ $file = $objtree . "man/" . $tag . ".9";
|
||
|
+ if (!open(WR, ">$file")) {
|
||
|
+ warn "Error: Cannot open file $file\n";
|
||
|
+ $errors++;
|
||
|
+ return;
|
||
|
+ }
|
||
|
+ print WR ".TH \"$tag\" 9 \"Linux Messages\" LINUX\n";
|
||
|
+ print WR ".SH Message\n";
|
||
|
+ print WR $tag . ": " . $kmsg_desc{$tag}->{'TEXT'} . "\n";
|
||
|
+ print WR ".SH Severity\n";
|
||
|
+ print WR "$kmsg_desc{$tag}->{'SEV'}\n";
|
||
|
+ $argv = $kmsg_desc{$tag}->{'ARGV'};
|
||
|
+ if ($argv ne "") {
|
||
|
+ print WR ".SH Parameters\n";
|
||
|
+ @parms = split(/\s*\n\s*/,$kmsg_desc{$tag}->{'ARGV'});
|
||
|
+ foreach $parm (@parms) {
|
||
|
+ $parm =~ s/^\s*(.*)\s*$/$1/;
|
||
|
+ if (!($parm eq "")) {
|
||
|
+ print WR "$parm\n\n";
|
||
|
+ }
|
||
|
+ }
|
||
|
+ }
|
||
|
+ print WR ".SH Description";
|
||
|
+ print WR "$kmsg_desc{$tag}->{'DESC'}\n";
|
||
|
+ $user = $kmsg_desc{$tag}->{'USER'};
|
||
|
+ if ($user ne "") {
|
||
|
+ print WR ".SH User action";
|
||
|
+ print WR "$user\n";
|
||
|
+ }
|
||
|
+ }
|
||
|
+}
|
||
|
+
|
||
|
+if (defined($ENV{'srctree'})) {
|
||
|
+ $srctree = "$ENV{'srctree'}" . "/";
|
||
|
+} else {
|
||
|
+ $srctree = getcwd;
|
||
|
+}
|
||
|
+
|
||
|
+if (defined($ENV{'objtree'})) {
|
||
|
+ $objtree = "$ENV{'objtree'}" . "/";
|
||
|
+} else {
|
||
|
+ $objtree = getcwd;
|
||
|
+}
|
||
|
+
|
||
|
+if (defined($ENV{'SRCARCH'})) {
|
||
|
+ $srcarch = "$ENV{'SRCARCH'}" . "/";
|
||
|
+} else {
|
||
|
+ print "kmsg-doc called without a valid \$SRCARCH\n";
|
||
|
+ exit 1;
|
||
|
+}
|
||
|
+
|
||
|
+$option = shift;
|
||
|
+
|
||
|
+$cc = shift;
|
||
|
+$gcc_options = "-E -D __KMSG_CHECKER ";
|
||
|
+foreach $tmp (@ARGV) {
|
||
|
+ $tmp =~ s/\(/\\\(/;
|
||
|
+ $tmp =~ s/\)/\\\)/;
|
||
|
+ $gcc_options .= " $tmp";
|
||
|
+ $filename = $tmp;
|
||
|
+}
|
||
|
+
|
||
|
+$component = process_source_file("", $filename);
|
||
|
+if ($component ne "") {
|
||
|
+ process_source_file($component, $srctree . "Documentation/kmsg/" .
|
||
|
+ $srcarch . $component);
|
||
|
+ process_source_file($component, $srctree . "Documentation/kmsg/" .
|
||
|
+ $component);
|
||
|
+}
|
||
|
+
|
||
|
+process_cpp_file($cc, $gcc_options, $filename, $component);
|
||
|
+if ($option eq "check") {
|
||
|
+ if (check_messages($component)) {
|
||
|
+ print_templates();
|
||
|
+ }
|
||
|
+} elsif ($option eq "print") {
|
||
|
+ write_man_pages();
|
||
|
+}
|
||
|
+
|
||
|
+exit($errors);
|